本文是解决request.getparameter中文乱码问题。
在Java web编程中经常遇到中文乱码问题。让人一直头疼。
重点:全部统一为utf-8编码,兼容性好
解决方案分以下几种:
-
1.修改jsp页面头部信息:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
如图
-
2.如果是post请求:(解决)
Struts配置文件中设置<constant name="struts.i18n.encoding" value="utf-8" />或者在Action方法里面设置request.setCharacterEncoding("utf-8"");
如果是post, 是不是和页面编码不统一呢。
-
3.修改tomcat 配置server.xml
修改tomcat 配置server.xml 加上useBodyEncodingForURI="true" URIEncoding="UTF-8"
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8"/>
修改服务器的xml, URIEncoding, 跟项目编码一致
如图
-
4.在Java代码中修改:
new String(request.getParameter("").getBytes("iso-8859-1","gb2312"));
-
5.小结:要记住,神马都统一编码才是王道!