jsp中文乱码问题解决办法good

jsp中文乱码问题解决办法good

ID:9240920

大小:40.00 KB

页数:4页

时间:2018-04-24

jsp中文乱码问题解决办法good_第1页
jsp中文乱码问题解决办法good_第2页
jsp中文乱码问题解决办法good_第3页
jsp中文乱码问题解决办法good_第4页
资源描述:

《jsp中文乱码问题解决办法good》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、JSP中文乱码问题解决办法当用request对象获取客户提交的汉字字符时,会出现乱码问题,所以对含有汉字字符的信息必须进行特殊处理。常见的几种字符集编码:nASCII码:不支持中文nISO-8859-1:不支持中文nGB2313、GBK:支持中文nUnicode:支持中文nUTF-8:支持中文在解决JSP中文乱码问题前,弄清以下几点:(1)windows平台采用的默认字符集编码是:GBK(2)IE浏览器默认采用UTF-8字符集编码方式发送Http请求。(3)Tomcat在处理Get请求时,永远采用ISO-8

2、859-1编码;Tomcat在处理Post请求时,默认采用ISO-8859-1编码;如果进行了如下设置request.setCharacterEncoding(“GBK”),则采用GBK编码。可以使用如下几种方式解决JSP中文乱码问题。1、方法一:调用自定义的转换函数<%@pagecontentType="text/html;charset=GB2312"%><%!publicStringgetStr(Strings){Stringstr=s;try{byte[]b=str.getBytes("ISO-88

3、59-1");str=newString(b);returnstr;}catch(Exceptione){returnstr;}}%>使用内置对象request将获取的数据,使用ISO-8859-1进行重新编码,并保存到一个字节数组中,然后调用newString()方法,以GBK方式将这个字节数组构造出一个新的字符串,这个新的字符串就是我们想要的结果。适用于以下三种情况:(1)以Get方式提交表单,提交的数据中包含汉字字符。(2)以Post方式提交表单,提交的数据中包含汉字字符。(3)在浏览器的地址栏中发出

4、Http请求时,查询字符串中包含汉字字符。2、方法二:调用request.setCharacterEncoding(“GBK”);<%@pagecontentType="text/html;Charset=GB2312"pageEncoding="GBK"%><%request.setCharacterEncoding("GB2312");%>由于Tomcat服务器处理Get请求或Post请求时,默认采用的编码方式是ISO-8859-1,通过内置对象request的getParameter()方法得到的字符

5、串是以ISO-8859-1转换而来,这是导致乱码产生的原因之一。为了避免Tomcat以ISO-8859-1的编码方式返回字符串,对于以Post方式提交的表单数据,可以在通过内置对象request获取数据之前,调用request.setCharacterEncoding(“GBK”),明确指定对浏览器发送来的数据进行重新编码(或者称为解码)时,采用的GBK的编码方式。适用于以下情况:(1)以Post方式提交表单,提交的数据中包含汉字字符。计算机最初的操作系统支持的编码是单字节的字符编码,于是,在计算机中一切处

6、理程序最初都是以单字节编码的英文为准进行处理。随着计算机的发展,为了适应世界其它民族的语言(当然包括我们的汉字),人们提出了UNICODE编码,它采用双字节编码,兼容英文字符和其它民族的双字节字符编码,所以,目前,大多数国际性的软件内部均采用UNICODE编码,在软件运行时,它获得本地支持系统(多数时间是操作系统)默认支持的编码格式,然后再将软件内部的UNICODE转化为本地系统默认支持的格式显示出来。Java的JDK和JVM即是如此,我这里说的JDK是指国际版的JDK,我们大多数程序员使用的是国际化的JD

7、K版本,以下所有的JDK均指国际化的JDK版本。我们的汉字是双字节编码语言,为了能让计算机处理中文,我们自己制定的gb2312、GBK、GBK2K等标准以适应计算机处理的需求。所以,大部分的操作系统为了适应我们处理中文的需求,均定制有中文操作系统,它们采用的是GBK,GB2312编码格式以正确显示我们的汉字。如:中文Windows默认采用的是GBK编码显示,在中文Windows2000中保存文件时默认采用的保存文件的编码格式也是GBK的,即所有在中文Windows2000中保存的文件它的内部编码默认均采用G

8、BK编码,注意:GBK是在GB2312基础上扩充来的。由于Java语言内部采用UNICODE编码,所以在Java程序运行时,就存在着一个从UNICODE编码和对应的操作系统及浏览器支持的编码格式转换输入、输出的问题,这个转换过程有着一系列的步骤,如果其中任何一步出错,则显示出来的汉字就会出是乱码,这就是我们常见的Java中文问题。3、分析常见的Java中文问题几个必须清楚的原则首先,经过上面的详细分析,我们可以清

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。