tomcat乱码问题

1  tomcat使用时之所以会产生乱码,主要是因为tomcat的默认字符集是iso-8859-1,这个字符集无法解析中文,而utf-8可以

2 当中文被解析成 ????  或者是奇怪的字符时,一般都是因为iso-8859-1字符集的问题,此时可以将字符重新转化为utf-8或gbk就可

  以转化gbk为例:

  

  String str_gbk = new String(str_iso_8859_1.getBytes("iso-8859-1"), "gbk");

3  另外一个永久解决办法:在tomcat的依赖中加入<uriEncoding>utf-8</uriEncoding>,将其get请求的字符集改为utf-8,

而post请求的解决办法是在web.xml文件中加入如下配置

<!--在里面配置post请求的过滤器,使其用utf-8进行编码-->
<filter>
<filter-name>encodingFilte</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>

4  utf-8与gbk编码配置不一致时,一般汉字会被解析成一些繁体字之类的文字,而不是????,此时只需要将gbk重新用utf-8解析即可
代码如下:

      将gbk编码字符串str_gbk转化为utf-8编码的str_utf8
    
    String str_utf8=new String(str_gbk.getBytes(),"utf-8");

      

 

原文地址:https://www.cnblogs.com/zxq-Study-Java/p/9911894.html