论坛首页 入门技术论坛

相关搜索与编码的认识

浏览 1319 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-12-04  
由于之前做网站页面表单都是采用默认的编码提交,后台一般采用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用默认的方式提交一般不会有编码问题.乱码的出现会是少数,但是这小部分会影响我们某些应用.

以上是我的理解,不正确的地方请赐教指正!
有什么好的解决办法分享下,谢谢!
   发表时间:2008-12-05  
request代表请求
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics