request.getparameter中文乱码问题解决方案
本文是解决request.getparameter中文乱码问题。
在Java web编程中经常遇到中文乱码问题。让人一直头疼。
解决方案分以下几种:
-
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 加上 URIEncoding="gb2312"
<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.小结:要记住,神马都统一编码才是王道!