AJAX乱码解决大全.doc
上传人:sy****28 上传时间:2024-09-13 格式:DOC 页数:4 大小:25KB 金币:16 举报 版权申诉
预览加载中,请您耐心等待几秒...

AJAX乱码解决大全.doc

AJAX乱码解决大全.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

16 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

1、编码编码比较常用的有:UTF-8,GBK,GB2312,ISO-8859-1,除了iso-8859-1之外的其它三个编码都能很好的支持中文,但它们都兼容ISO-8859-1的编码(就是说无论编码怎么改变,只要是ISO-8859-1中的字符,永远不会出现乱码)。这四种编码中,GB2312是中国规定的汉字编码,也可以说是简体中文的字符集编码;GBK是GB2312的扩展,除了兼容GB2312外,它还能显示繁体中文,还有日文的假名;而UTF-8虽然也支持中文,但却与GB码不兼容(编码值不同)。UTF-8使用的是可变长的UNICODE编码,编码可能是1位16进制(即ISO-8859-1中的字符,其编码也是相同的)也有可能是2位或3位的16进制。UTF-8的优点是:1、与CPU字节顺序无关,可以在不同平台之间交流。2、容错能力高,任何一个字节损坏后,最多只会导致一个编码码位损失,不会链锁错误(如GB码错一个字节就会整行乱码),所以在国际化处理中基本都是建议使用UTF-8作为编码。2、文件的编码文件编码最常使用的有两种:ANSI和UTF-8,光看名字估计你都可以猜到了,ANSI就是我们保存文件时使用的默认编码,而UTF-8则需自己设置。对于编码的改变,我使用的工具是NOTEPAD和ECLIPSE,NOTEPAD使用最简单,只要打开文件后在另存为中选择相应的编码就行了,而且它对编码的支持非常好;而在ECLIPSE中,只要稍微设置一下就行了,打开首选项,然后选择:常规->内容类型(ContentType),在右边选中你想改变保存编码的文件类型,然后在下方的缺省编码中改变其值,最后点击更新(UPDATE)按钮即可。而在其它的编辑器中,默认保存的内容都是GB2312或者GBK(NOTEPAD中对应ANSI).而根据前面所说的UTF-8和GBK,GB2312等的编码值是不同的这一点,可以知道,如果文件使用了UTF-8,那么字符编码就必须使用UTF-8,否则编码值的不同就可能造成乱码。而这也就是为什么那么多的人使用了UTF-8编码后还会产生乱码的根本原因。(JS和JSP都是这个道理)3、JSP,STRUTS等的中文乱码解决方案其实解决的方法只有一个:request.setCharacterEncoding(encoding);方法只有一种,但处理方式就多种多样了,初学者会在JSP页面上直接使用,而有经验的程序员会使用过滤器。而现在所要说的方法也是过滤器。这里以统一使用UTF-8作为编码作为例子说明。具体过程就不多说了,网上有很多教程。偷懒一点的,到TOMCAT中复制就行了。在TOMCAT的目录下的"webapps"jsp-examples"WEB-INF"classes"filters"找到SetCharacterEncodingFilter.java这个类,放到你的程序中并配置好映射路径。配置好后基本上你的乱码问题就解决了。但要映射路径中需要注意的就是不能使用'*'<filter-mapping><filter-name>SetCharacterEncoding</filter-name><servlet-name>*</servlet-name></filter-mapping>像上面这样配置的话(可能也是网上大多教程的做法,想当年也是害苦了我),可能你只有JSP的乱码解决了,要解决STRUTS的乱码需要映射*.do或者servletActionName。然后在初始化参数中设置encoding的值就行了。<init-param><param-name>encoding</param-name><param-value>UTF-8</param-value></init-param>当然,最重要的是要记得根据前面所说的方法,改变你所使用的编辑器保存文件的编码要与使用的字符编码一致。而在JSP内容中,还是使用如网上教程所说的那种技俩,在所有页面的页首加入:<%@pagelanguage="java"contentType="texttext/html;charset=UTF-8"text8pageEncoding="UTF-8"%>8至此,相信JSP,ACTION都不太可能出现乱码了。4、资源文件的乱码解决方案资源文件谁都知道是国际化支持不可或缺的一部分,如果资源文件都出现乱码了那还了得?其实资源文件的乱码是很好解决的,其原因