在Java的开发中,最常见的是struts1,struts2乱码,以及get提交乱码,在此列举一些常见乱码问题及解决方案供学此方面的朋友们参考
首先介绍一些常见的字符编码:
1.ASCII :ASCII使用7个比特进行字符编码,最多可以表示的字符数量为 128个
包括大小写字母,数字 标点符号,控制字符等 每个字符用一个字节表示,每个字节的最高位为0
2.ISO8859-1 :又称Latin-1或西欧语言,在ASCII的基础上,使用8比特编码,新增一些字符,兼容ASCII
新增的字符主要用来支持部分欧洲国家所使用的语言,例如德语,葡萄牙语和西班牙语等
ISO8859另外定义了14个适用于不同文字的字符集合(8859-2到8859-15)均共享0-127的ASCII码。
3.GB2312 :1981年开始使用国家标准<信息交换用汉字编码字符集基本集>
简称GB2312,使用双字节编码,包含7445个字符。对汉字分成两级,一级为3755个常用字,二级为3008个次常用字,还收录了682个其他字符,主要应用在中国大陆和新加坡,兼容ASCII
4.GBK :在GB2312的基础上又进行了扩充,在1995年,推出了<汉字内码扩展规范>
简称GBK ,收录了21886个汉字和图形符号,其中汉字21003个,图形883个,并且向下与GB2312编码完全兼容。
5.UTF-8 :UTF是Unicode/UCS
Transformation Format (统一字符集/统一字符编码转换格式)的缩写
UTF就是Unicode的一种字符编码(转换)方法。Unicode组织推荐使用的是UTF-8和UTF-16,UTF-8是一种变长的编码方式,也是当前Unicode最常用的一种字符编码(转换)方法
下面我们来看一下常见的乱码问题:
1.JSP文件中的乱码问题:这个凡是有一点开发基础的朋友都清楚(ISO-8859-1改写成GBK即可),不再叙述!
2.Servlet的中文乱码 :在Servlet使用response对输出内容之前,指定字符类型
response.setContentType("text/html;charset=gbk");
3.POST方式提交:设定接收参数的内容使用GBK编码
request.setCharacterEncoding("GBK");
4.GET表单传递参数:
1.修改Tomcat的server.xml文件
如下图:http://s10/middle/918966b4tc2a23254b659&690 2.
http://s4/middle/918966b4tc2a238623bd3&690
5.Struts2乱码
:在struts.xml配置struts.i18n.encoding常量
<struts>
<constant name="struts.i18n.encoding"
value="gbk"/>
..... </struts>
6.Struts1乱码
:重写ActionServlet类,具体操作可以看我博客:http://blog.sina.com.cn/s/blog_918966b40100z0in.html 在此不再多叙!
学习Java开发已两年时光了,总觉得自己知道的太少太少,也许是自己总结的太少了吧,有时走的路是要留下些什么的,比如说一些总结...
抟摇直上 2012-06-17
加载中,请稍候......