url传中文在IE中出现乱码问题处理
2014-10-13 13:58
344 查看
今天在测试网站搜索功能的时候发现从url传过去的中文名称全部成了乱码,导致查询功能失效,检查代码 的时候发现之前的人员没有对客户端跟服务端的字节编码进行统一,于是在服务端添加了以下代码(注:项目中已经统一了页面的字节编码为UTF8了):
String convertedString = new String(ret.getBytes("8859_1"), "UTF8");
再次测试的时候又出现了新的问题,在火狐跟谷歌浏览器中测试已经能正常显示中文了,但在IE中依然还是乱码,再次仔细检查代码,发现问题在哪了,之前开发人员直接在url中传中文参数,如果浏览器取值的编码不同就会导致最后得到的编码不一致,所以解决这个问题较简单的方法就是不要在url里直接传中文参数,只需要在客户端传参数之前把中文进行编码,在服务端取值的时候再进行解码就行了,下面是编码及解码的方法
客户端编码:
var chUrl = ...;//此处为url中的中文参数变量值
if(chUrl != null) { chUrl = escape(encodeURIComponent(chUrl )); //对中文字段进行编码 }
服务端解码:
String chUrl = Util.getFullParameter(request, "chUrl ");//拿到编码后的中文字节,这里取值方法根据自己项目中封装的方法来取,大同小异 if(chUrl != null && !chUrl .equals("")) { chUrl = java.net.URLDecoder.decode(chUrl ,"utf-8"); //对中文编码进行解码 }这样得到的都是正常的中文了,乱码问题解决。
相关文章推荐
- 解决Java中URL传递中文参数时出现乱码的问题
- 处理URL传递中文乱码问题
- 一种另类的解决URL中文乱码问题--对中文进行加密、解密处理
- flex处理URL中文乱码的问题
- 处理URL传递中文乱码问题
- BS开发技巧之四: 处理取中文参数出现乱码问题
- 处理URL传递中文乱码问题
- ASP.NET 页面间URL在IE中传中文乱码问题 被这个问题坑了一个下午~汗颜。
- 解决URL中文乱码问题--对中文进行加密、解密处理
- (备忘)tomcat处理url参数中文乱码问题
- 如何解决URL传递中文时出现乱码问题
- 一种另类的解决URL中文乱码问题--对中文进行加密、解密处理
- 处理URL传递中文乱码问题Pthill转载
- URL中文传值出现乱码处理方法
- ASP.NET中url传递中文的解决方案,传递参数为汉字时出现乱码等问题
- 处理URL传递中文乱码问题
- 页面处理URL参数出现中文问题
- js对url网页地址中文乱码问题的处理方法
- dtree中url参数中中文参数的传递,出现乱码问题的解决。
- action接收到来自jsp页面的请求时出现中文乱码问题处理方法