1、tomcate6 中 tomcate connector字符的设置了URIEncoding="UTF-8"2、在项目中struts.properties 添加了struts.devMode=false
struts.enable.DynamicMethodInvocation=true
struts.i18n.reload=true
struts.ui.theme=simplestruts.locale=UTF-8
struts.i18n.encoding=UTF-8struts.serve.static.browserCache=false
struts.url.includeParams=none3、web.xml 里面也添加了
<filter>
<filter-name>struts-cleanup</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ActionContextCleanUp
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts-cleanup</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
4、在jsp页面中的也设置了字符编码
<%@page pageEncoding="UTF-8"%>
<%@ page contentType="text/vnd.wap.wml; charset=UTF-8"%>以上设置完为什么还是有中文乱码的问题?
url中输入了一个中文在action中用以下代码
String name=request.getParameter("name");
name=new String(name.getBytes("ISO-8859-1"),"UTF-8");
System.out.println(name);
打印出的还是 ??
struts.enable.DynamicMethodInvocation=true
struts.i18n.reload=true
struts.ui.theme=simplestruts.locale=UTF-8
struts.i18n.encoding=UTF-8struts.serve.static.browserCache=false
struts.url.includeParams=none3、web.xml 里面也添加了
<filter>
<filter-name>struts-cleanup</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ActionContextCleanUp
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts-cleanup</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
4、在jsp页面中的也设置了字符编码
<%@page pageEncoding="UTF-8"%>
<%@ page contentType="text/vnd.wap.wml; charset=UTF-8"%>以上设置完为什么还是有中文乱码的问题?
url中输入了一个中文在action中用以下代码
String name=request.getParameter("name");
name=new String(name.getBytes("ISO-8859-1"),"UTF-8");
System.out.println(name);
打印出的还是 ??
name=new String(filename.getBytes("GB2312"), "ISO-8859-1");
System.out.println(name); 这样试一下。
真不明白,为啥都喜欢在url中传递中文参数,自找苦吃!
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>把过滤器配置该一下试一试.
<filter>
<filter-name>Encoding</filter-name>
<filter-class>过滤器中用到的类</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>Encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>过滤器类上网找一个就行了,我曾经就是这样解决的!
具体代码如下:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8"/>