解决乱码问题

来源:互联网 发布:艾蕾 知乎 编辑:程序博客网 时间:2024/05/18 04:54
1,传值乱码
在传值过程中,也是乱码出现的频繁地。先不说到底是什么场景了,通常常用的方案有如下几个
配置指定的filter------在web.xml中配置
<filter> 
<filter-name>CharacterEncodingFilter</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> 
</filter> 
<filter-mapping> 
<filter-name>CharacterEncodingFilter</filter-name> 
<url-pattern>/*</url-pattern> 
</filter-mapping>






2,页面乱码
 
页面相对是最为容易解决的,往往是在相应的jsp页面或者html页面设置相关的字符集即可。如
<%@page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>








3,设置request字符集


 
往往从前台传入到对应的controller或者是action之后出现乱码,讲讲我一般的思路是先打印request本身默认的字符集
System.out.println(request.getCharacterEncoding());
接着按照情况,如果打印的不是所需要的字符集则设置相应字符集即可
ii:request.setCharacterEncoding("UTF-8");
当然某种情况可能还是无法解决这时候用以下这个即可
String str=newString((request.getParameter("bigQuestionTypeName")).getBytes("iso-8859-1"),"utf-8")
注意:此方法在tomcat8 之后就不要用了  tomcat8 中默认的是utf-8
如果继续使用该代码依旧会是乱码