<form id="form1" name="form1" action="designer/GKD_submitSuccess?filevalue=<s:property value="filevalue"/>" method="post">struts配置文件中设置如下
<constant name="struts.i18n.encoding" value="gb2312"/>其中每个jsp中pageEncoding="gb2312"求助............
<constant name="struts.i18n.encoding" value="gb2312"/>其中每个jsp中pageEncoding="gb2312"求助............
private String encoding = "UTF-8"; public void doFilter(ServletRequest request, ServletResponse response,
FilterChain arg2) throws IOException, ServletException { request.setCharacterEncoding(encoding);
response.setCharacterEncoding(encoding);
arg2.doFilter(request, response); }
过滤器,struts配置文件常量设置,jsp中pageEncoding都设置好了 都是gb2312.......
我也遇到过这样的问题,提交之后在后台先做一下转码,转过码的参数就是你要的啦!
String filevalue= new String(request.getParameter("filevalue").getBytes("ISO-8859-1"),"gb2312");
或者
<%@ page contentType="text/html; charset=GBK"%>
或者
request.setCharacterEncoding(“utf-8”);
response.setCharacterEncoding(“utf-8”);
2 使用过滤器过滤编码。
解决办法
1 在过滤器中设置request.setCharacterEncoding(“utf-8”);又由于tomcat在载入filter的时是按web.xml配置的filter顺序载入的,所以在web.xml配置时,这个过滤器要放在struts的filter前.
2 String filevalue= new String(request.getParameter("filevalue").getBytes("ISO-8859-1"),"utf-8")
ps:不知道你的struts版本是好多,我知道2.16版的中文过滤器有问题