Java web开发乱码解决方案
2011-10-21 22:21
387 查看
乱码对于使用非英语程序员基本上是一直缠绕在身边的麻烦事,这个谁也避免不了。以下是我的一些解决乱码问题的方法或经验的汇总,欢迎指正或补充。
一、乱码发生的情况和应对措施
1.开发环境乱码
由于Java默认使用UTF-8编码,而且网上很多人都建议Web开发的时候应尽量选用UTF-8做为默认编码,而非GBK。有时候或许会碰到这样的问题,成员A在他机器上看到的是正常的中文注释,你通过SVN下载到你机器上时,却发现注释全变成乱码了,这时候一定是你们的IDE的默认编码不同了。所以项目组成员在使用Eclipse等IDE的时候,应统一将default text editor改为UTF-8编码,免得日后后悔再改就惨了。
2.POST请求乱码
适用于POST请求过程中, 在接收POST 提交的中文参数出现乱码的情况。解决方案可以使用SetCharacterEncodingFilter,这个很基础的一套过滤器,将所有来自页面的POST请求全部过滤为UTF-8编码。在web.xml文件中加入以下代码:
View Code
5.Ajax请求乱码
使用Ajax,JS也是默认使用ISO8859编码,所以在进行请求时遇到中文参数需要进行编码,如:var url = "GetSelectListAction.do?queryData=subTrade" + "&queryId=" + encodeURI(obj.value) + "&r=" + Math.random();
这里有两个地方需要注意:第一个地方是encodeURI(),方法,可以将参数进行转码,默认是转化为UTF-8,如果需要转为其他码制,需要在方法中添加第二个参数。
第二个地方是Math.random(),由于Ajax有缓存机制,在接受请求的时候第一时间先判断该请求的地址是否被访问过,如果被访问过则 直接使用缓存中的内容返回,这个东西很讨厌,客户在访问过一次出错后以后每次出现的都是这个错误,所以在请求中给其增加一个时间戳,只要可以随机生成一个 不同的字串就可以,保证Ajax每次都去访问服务器。
一、乱码发生的情况和应对措施
1.开发环境乱码
由于Java默认使用UTF-8编码,而且网上很多人都建议Web开发的时候应尽量选用UTF-8做为默认编码,而非GBK。有时候或许会碰到这样的问题,成员A在他机器上看到的是正常的中文注释,你通过SVN下载到你机器上时,却发现注释全变成乱码了,这时候一定是你们的IDE的默认编码不同了。所以项目组成员在使用Eclipse等IDE的时候,应统一将default text editor改为UTF-8编码,免得日后后悔再改就惨了。
2.POST请求乱码
适用于POST请求过程中, 在接收POST 提交的中文参数出现乱码的情况。解决方案可以使用SetCharacterEncodingFilter,这个很基础的一套过滤器,将所有来自页面的POST请求全部过滤为UTF-8编码。在web.xml文件中加入以下代码:
View Code
<%@page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
5.Ajax请求乱码
使用Ajax,JS也是默认使用ISO8859编码,所以在进行请求时遇到中文参数需要进行编码,如:var url = "GetSelectListAction.do?queryData=subTrade" + "&queryId=" + encodeURI(obj.value) + "&r=" + Math.random();
这里有两个地方需要注意:第一个地方是encodeURI(),方法,可以将参数进行转码,默认是转化为UTF-8,如果需要转为其他码制,需要在方法中添加第二个参数。
第二个地方是Math.random(),由于Ajax有缓存机制,在接受请求的时候第一时间先判断该请求的地址是否被访问过,如果被访问过则 直接使用缓存中的内容返回,这个东西很讨厌,客户在访问过一次出错后以后每次出现的都是这个错误,所以在请求中给其增加一个时间戳,只要可以随机生成一个 不同的字串就可以,保证Ajax每次都去访问服务器。
相关文章推荐
- java web 开发中的乱码解决方案自我总结
- javaweb开发中中文乱码问题的解决方案
- Java Web开发(JSP、Servlet)乱码的一揽子解决方案
- Java Web开发(JSP、Servlet)乱码的一揽子解决方案
- JAVAWEB开发过程中中文乱码问题解决方案
- java web 开发中文乱码的一般解决方案
- java web开发乱码问题解决方案(一)
- JAVA,web开发,中文乱码解决方案MyTools
- JQuery中使用Ajax传中文参数乱码解决方案(javaweb开发)
- spring,web,java 开发中乱码解决方案
- MyEclipse 下利用Struts2进行Web开发的乱码问题的综合解决方案
- java web开发中乱码的一些体会
- 关于Java Web开发出现乱码的原因总结
- 关于java web开发中乱码问题的解决思路
- JAVAWEB开发之HttpServletResponse和HttpServletRequest详解(下)(各种乱码、验证码、重定向和转发)
- Java Web 开发中乱码问题的处理
- Java Web开发防止多用户重复登录的完美解决方案
- JAVA WEB开发乱码问题合集
- java web项目js文件始终是乱码(剪切到记事本更改格式另存为也没用)关于编码过滤器的一种情况及解决方案
- JAVA web开发中的编码问题-解决乱码问题