首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

有关搜索与编码的认识

2012-11-18 
相关搜索与编码的认识由于之前做网站页面表单都是采用默认的编码提交,后台一般采用request.setCharacterEn

相关搜索与编码的认识
由于之前做网站页面表单都是采用默认的编码提交,后台一般采用request.setCharacterEncoding("gbk");这样一般不会有编码问题.但是现在做搜索,要拿网友的输入做相关搜索,但是在后台发现,很多时候还是会出现乱码,对做相关搜索效率甚差,只能对做些处理才尽量避免输入奇怪的字符.上网查了相关资料之后,"断定":由于操作系统,浏览器等(编码)原因,这个不可能解决的问题了.搁置了一段时间,今天又拿这个问题来研究:

request.setCharacterEncoding("gbk");对于我再次认识了这句话的意思.
request.setCharacterEncoding("gbk");request代表的客户端,这句当然代表的是客户端提交的编码是gbk,即浏览器提交的编码方式是gbk.<%@ page contentType="text/html; charset=gbk"%>这个charset=gbk才代表我们拿出来的参数要最终转为gbk.
jsp是request.setCharacterEncoding("uft-8");
String q = request.getParameter("q");
google会用encodeURIComponent进行编码后提交,baidu似乎是会"得知"浏览的提交编码方式ie=gb2312(具体没研究过).之前还认为google后台有个专门的处理编码的功能,不知有否?
所以如果你的浏览器是用uft-8提交的话,request.setCharacterEncoding("gbk");还是会出现乱码.
而标准的应该是utf-8才不会出现乱码.而中文的ie,firefox提交的编码默认是gbk(或者gb2312).
所以我们jsp用request.setCharacterEncoding("gbk"),html用默认的方式提交一般不会有编码问题.乱码的出现会是少数,但是这小部分会影响我们某些应用.

以上是我的理解,不正确的地方请赐教指正!
有什么好的解决办法分享下,谢谢! 1 楼 xuyao 2008-12-05   request代表请求

热点排行