常见乱码的解决办法
页面乱码,是我们Web开发中的一个经典问题了,说简单简单,说难也难,因为造成乱码的原因有很多, 笔者特此总结整理一下,希望能给大家提供一些思路和解决办法。
造成乱码的常见原因;
1. Web项目的文件编码格式不一致。
任何文件(.class,.jsp,.js,.xml)都有编码格式,所以在创建文件时一定要注意编码格式是否都统一,这个其实是可以通过IDE预先设置好的。
2. 输入输出时的编码格式
即request、response的编码格式,涉及到流的概念,基本就都离不开编码格式的问题,因此渲染页面的时候同样如此,解决该问题的常见办法是采用过滤器(filter)来统一设置request、response的编码格式。
3. url地址乱码
这是url中含有中文的问题。比如通过url传递中文参数时发生乱码,这个问题除了排查上述第2点之外,来要看的就是tomcat等服务器的编码格式了,比如查看tomcat的server.xml文件里的字符集设置。
4. 字符串编码格式
字符串本身是有编码格式的,有的时候为了安全考虑会为字符串特意设置某种编码格式导致乱码,这时只需通过相应的编码格式转码即可。
5. 数据库乱码
发现存入数据库中后乱码,在排除上述四点之后,可能就要考虑数据库本身对于存储数据时的编码格式的支持了,即查看数据库的编码格式,不同数据库有不同的设置方式,自己确定是这个原因的话,多上网查查吧。
好啦,以上5点是我列出的几点最常见的,也是我目前已知的,日后如果发现有新的原因,我会补充,大家若也知道其他的一些原因,也请多多指出,一起交流。