大家开发javaWeb的时候,遇到中文乱码问题是常事!
这里推荐一个地址,可以解决绝大部分问题,
嫌麻烦?别急,看看是不是和我遇到同样的问题!也许会节约你宝贵的时间哦!
本文只是针对本人遇到的问题,和大家简单分享一下经验!
1、当你在开发国际化的过程中,一大堆message的信息都是中文乱码,确实是一件大脑壳的事情。冷静,不要着急,首先应该确认资源文件是否引入,如果正确引入,检查一下是否是页面jsp编码不正确导致,加上<%@ page contentType="text/html; charset=UTF-8" %>,嘿,果然恢复了,问题解决,山穷水复疑无路,柳暗花明又一村!
2、表单提交中文参数时,在Action中出现中文乱码:
- 解决方案A:修改jsp页面的编码格式
在jsp页面加入<%@ page pageEncoding="UTF-8" contentType="text/html; charset=GBK%>,注意一定要保证jsp文件的property里面Text file encoding 和 pageEncoding的编码格式相同。原因请参考附录说明。
- 解决方案B:在访问的Action 的java文件中修改编码格式。
Action方法中加入request.setCharacterEncoding("UTF-8“);或者在提交jsp页面加入<%request.setCharacterEncoding("UTF-8“)%>,效果一样!
说明:转
关于JSP页面中<%@ page pageEncoding="UTF-8" contentType="text/html; charset=GBK%>
的pageEncoding和contentType两种属性的区别:
pageEncoding是jsp文件本身的编码
contentType的charset是指服务器发送给客户端时的内容编码