乱码问题好像跟我们中国程序员特别有缘,一直困扰着我们,从开始的JSP乱码问题,STRUTS乱码问题,到现在的AJAX乱码问题,无一不是搞得许多程序员焦头烂额的,整天骂XXX产品对中文支持不了,UTF-8无法使用中文啊什么的,其实这里面被骂的产品中其实99%以上是对中文支持非常好的,而出现乱码的原因只是因为自身对国际化支持以及文件编码等信息的认识不知造成的。要知道一个产品那么流行,怎么可能对中文支持不了呢,下面就开始一一帮大家解决这些问题。
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字节顺序无关,可以在不同平台之间交流。
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字节顺序无关,可以在不同平台之间交流。
Tags: 乱码
08-01
22
Character decoding failed. Parameter skipped.java.io.CharConversionException: isHexDigit.
作者:Java伴侣 日期:2008-01-22
做ajax传递参数的时候遇到这个异常,在网上找了N天的东西,还是没找到答案,原来我一直没发现原来是 escape带来的错误。我是这样写的
var url = "b.jsp?name=" + escape(u_name);
服务端获取:
String name=request.getParameter("name");
name=new String(name.getBytes("iso-8859-1"));
System.out.println(name);
结果老是报错:org.apache.tomcat.util.http.Parameters processParameters
var url = "b.jsp?name=" + escape(u_name);
服务端获取:
String name=request.getParameter("name");
name=new String(name.getBytes("iso-8859-1"));
System.out.println(name);
结果老是报错:org.apache.tomcat.util.http.Parameters processParameters
Tags: isHexDigit AJAX escape
代码是这样滴
我相信一定也有人不喜欢只能点那个小方块,如果分辨率再高点,点中总得瞄准一下。
不只checkbox有这样的问题,radio也一样。大家快给他们配个老婆(label)吧
关于label的说明,可以看下这里http://phpx.com/man/dhtmlcn/objects/LABEL.html
复制内容到剪贴板 程序代码
<input type="checkbox" name="testtest" id="testtest" /><label for="testtest">点啊点啊点这里</label><br />
<input type="checkbox" name="testtest" />点啊点啊点这里也没用
<input type="checkbox" name="testtest" />点啊点啊点这里也没用
我相信一定也有人不喜欢只能点那个小方块,如果分辨率再高点,点中总得瞄准一下。
不只checkbox有这样的问题,radio也一样。大家快给他们配个老婆(label)吧
关于label的说明,可以看下这里http://phpx.com/man/dhtmlcn/objects/LABEL.html