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");