web中文乱码问题总结

来源:互联网 发布:excad激光软件 编辑:程序博客网 时间:2024/05/01 21:45

本人解决乱码问题主要依赖于下面的两篇文章:
深入分析 Java 中的中文编码问题
jQuery调用AJAX时Get和post公用的乱码解决方法实例说明

  1. Get请求编码可以通过tomcat的配置来解决。
  2. Post请求可以通过过滤器中的request.setCharacterEncoding()来设置。如果实在还有乱码问题:可以看看第二篇文章,检查浏览器的http header,查看contentType字段,如下:
    contentType:”application/x-www-form-urlencoded” ,
    则修改jQuery-1.x.x.js文件,将
    contentType:”application/x-www-form-urlencoded”改为下面的代码
    contentType:”application/x-www-form-urlencoded;charset=UTF-8” ,大概有两处地方需要这么修改。

虽然encodeURIComponent能解决问题,但是在每个输入框都加上这些代码,比较麻烦。尽量用能解决全局问题的方法来处理会比较好。

URIEncoding和useBodyEncodingForURI区别是,

URIEncoding是对所有GET方式的请求的数据进行统一的重新编码,

而useBodyEncodingForURI的意思是:请求参数的编码方式要采用请求体的编码方式。有两种设置方式:filter的request.setCharacterEncoding(‘UTF-8’)或者请求header中的content-type中的编码都是针对请求体的。
不同的页面可以有不同的重新编码的编码。

post请求中的参数属于请求体中的参数。
encodeURIComponent() 函数:将转义用于分隔 URI 各个部分的标点符号。它是 某些字符将被十六进制的转义序列进行替换。比如参数:“hello?world”中的“?”会被转义。

0 0
原创粉丝点击