为什么说乱码是中国程序员无法避免的话题呢?这个首先要从编码机制上说起,大家都是中文和英文的编码格式不是一样,解码也是不一样的!
如果中国的程序员不会遇到乱码,那么只有使用汉语编程。汉语编程是怎么回事,我也不大清楚。
我写这个不是讲解中英文之间的差距,解码等,我只是结合我遇到的乱码问题,然后做了一个解决乱码的总结。
1、utf8解决JSP中文乱码问题
一般说来在每个页面的开始处,加入:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
2.如果项目里面有乱码:
右击项目名—>properties->Resource->Text file encoding中点击->other选择UTF-8
3、Tomcat 5.5中文乱码
1)只要把%TOMCAT安装目录
%/ webapps\servlets-examples\WEB-INF\classes\filters\SetCharacterEncodingFilter.class文件拷到你的webapp目录/filters下,如果没有filters目录,
就创建一个。
2)在你的web.xml里加入如下几行:
<filter> <filter-name>Set Character Encoding</filter-name> <filter-class>filters.SetCharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>GBK</param-value> </init-param> </filter> <filter-mapping> <filter-name>Set Character Encoding</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
4、get方式的解决办法
打开tomcat的server.xml文件,找到区块,加入如下一行:
URIEncoding=”GBK”
完整的应如下:
<connector <br="">port="80" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" debug="0" connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="GBK" />
5.jar包中有乱码
1)在eclipse菜单栏中,Window–>Preferences–>General–>Content types将JAR Content , Java Class File 的Default encoding都设置为你要的编码
2)光设置上面的还不行,还需要再设置Workspace的编码。Window–>Preferences–>General–>Workspace,将Text file encoding的默认编码也设置为
和上面一致的编码。
3)保存,重启Eclipse即可发现乱码问题解决了。
6.html5 utf-8中文乱码的解决方法
HTML5 UTF-8出现中文乱码的情况,应该有很多的朋友都有遇到吧,用记事本写,保存后在网页上运行出现了乱码,换成GB2312能正确显示中文,
下面就为大家探讨下具体的解决方法
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>HTML5的标题</title>
</head>
<body>
<p>HTML5的内容!Hello</p>
</body>
</html>
用记事本写,保存后在网页上运行出现了乱码,换成GB2312能正确显示中文
代码没有问题,问题就出记事本身上。 <meta charste="utf-8"> 只是告诉浏览器要用utf-8来解释,而文档的编码,是在你保存时的选择决定的,
如果保存ANSI 然后用utf-8解释,肯定是乱码,记事本的话,默认保存的文件格式是ANSI,所以在保存的时候要修改为uif-8。
7.js 文件中文显示乱码
Javascript文件XX.js编辑保存时有一种编码方案(如GBK),当打开文件的时候所用的编码(如UTF-8)和保存时的编码方案不一致时,则会出现中文显示乱码。
解决方案:
(1) 用编辑器打开浏览的时候,选择和原文件编码(如GBK)一致的编码方式查看,则不会出现乱码;
(2)在eclipse中的package explorer中选中乱码的XX.js,右键菜单中选择properties,在Text file encoding中选择与XX.js编辑保存时的编码(如GBK),则可以正常显示;
8.网站页面中JavaScript中中文字段乱码
在eclipse或者编辑器中XX.js中中文显示正常,在页面调用XX.js,执行后页面结果中中文字段显示乱码。
解决方案:
在引用XX.js的页面上“显示”加上XX.js文件的编码方式,使之与XX.js文件的本身的编码方式(如GBK)保持一致。
<script type="text/javascript" language="JavaScript" src="/js/XX.js" charset=“GBK”></script>
建议:
(1)在用Eclipse或者Myeclipse新建XX.js,进行编辑时,建议先将Text file encoding改为UTF-8,然后进行编辑保存。
(2)用文本文档或者其他编辑器编辑保存XX.js, 建议以UTF-8的编码方式保存。
(3) 在引用XX.js的页面上“显示”加上XX.js文件的编码方式UTF-8。
<script type="text/javascript" language="JavaScript" src="/js/XX.js" charset=“utf-8”></script>