tomcat服务器的编码没有设置 设置成utf-8和gbk都试过 问题没有解决
web.xml中设置了过滤器
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
用的spring的过滤器
代码中获取request对象
获取其他参数正常 中文参数乱码
request.queryString(); 没有任何内容
通过
new String(request.getParameter("参数名").getBytes("iso-8859-1"), "gb2312");
new String(request.getParameter("参数名").getBytes("iso-8859-1"), "utf-8");
new String(request.getParameter("参数名").getBytes("iso-8859-1"), "gbk");
new String(request.getParameter("参数名").getBytes("utf-8"), "gbk");
new String(request.getParameter("参数名").getBytes("utf-8"),"gb2312");
request.setCharacterEncoding("gbk");
类的编码为utf-8
都不成功 其他该用的方法都试过 就是不可以
不过奇怪的是 如果我把这段代码直接写在jsp页面中可以正常显示
jsp页面的编码为gb2312 request.setCharacterEncoding("gbk"); 后可以正常获取参数
<%@ page language="java" pageEncoding="gb2312"%>
<%
request.setCharacterEncoding("GBK");
String errMsg = request.getParameter("ErrMsg");
%>
这样获取参数完全正常
实在不知道原因在哪
另外还做了一个测试 tomcat的编码不设置 应该就是默认的iso-8859-1
项目设置spring的中文过滤器
action中直接写
new String(request.getParameter("参数名").getBytes("iso-8859-1"), "gbk");
就可以获取正确的中文
关于request编码问题编码乱码
猜你喜欢
转载自software-king.iteye.com/blog/2195554
今日推荐
周排行