jsp乱码问题及其解决办法

jsp乱码问题及其解决办法

ID:29481689

大小:94.21 KB

页数:16页

时间:2018-12-20

jsp乱码问题及其解决办法_第1页
jsp乱码问题及其解决办法_第2页
jsp乱码问题及其解决办法_第3页
jsp乱码问题及其解决办法_第4页
jsp乱码问题及其解决办法_第5页
资源描述:

《jsp乱码问题及其解决办法》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、jsp乱码问题及其解决办法jsp乱码问题及其解决办法2010年04月09日星期五下午05:32困扰已久的乱码问题终于得到解决,希望下次出现更多问题,解决问题的过程很愉快!关于jsp乱码问题的解决2009-01-2221:32关于jsp乱码问题的解决。1最基本的乱码问题。这个乱码问题是最简单的乱码问题。一般新会出现。就是页面编码不一致导致的乱码。%@pagelanguage="java"pageEncoding="UTF-8"%%@pagecontentType="text/html;charset=gb2

2、312"%htmlheadtitle中文问题/titlemetahttp-equiv="Content-Type"content="text/html;charset=UTF-8"/head/headbody我是个好人/body/html三个地方的编码。第一个地方的编码格式为jsp文件的存储格式。Eclipse会根据这个编码格式保存文件。并编译jsp文件,包括里面的汉字。第二处编码为解码格式。因为存为UTF-8的文件被解码为iso8859-1,这样如有中文肯定出乱码。也就是必须一致。而第二处所在的这一行,

3、可以没有。缺省也是使用iso8859-1的编码格式。所以如果没有这一行的话,"我是个好人"也会出现乱码。必须一致才可以。第三处编码为控制浏览器的解码方式。如果前面的解码都一致并且无误的话,这个编码格式没有关系。有的网页出现乱码,就是因为浏览器不能确定使用哪种编码格式。因为页面有时候会嵌入页面,导致浏览器混淆了编码格式。出现了乱码。2表单使用Post方式提交后接收到的乱码问题这个问题也是一个常见的问题。这个乱码也是tomcat的内部编码格式iso8859-1在捣乱,也就是说post提交时,如果没有设置提交的

4、编码格式,则会以iso8859-1方式进行提交,接受的jsp却以utf-8的方式接受。导致乱码。既然这样的原因,下面有几种解决方式,并比较。A接受参数时进行编码转换Stringstr=newString(request.getParameter("something").getBytes("ISO-8859-1"),"utf-8");这样的话,每一个参数都必须这样进行转码。很麻烦。但确实可以拿到汉字。B在请求页面上开始处,执行请求的编码代码request.setCharacterEncoding("UTF

5、-8"),把提交内容的字符集设为UTF-8。这样的话,接受此参数的页面就不必在转码了。直接使用Stringstr=request.getParamete("something");即可得到汉字参数。但每页都需要执行这句话。这个方法也就对post提交的有效果,对于get提交和上传文件时的enctype="multipart/form-data"是无效的。稍后下面单独对这个两个的乱码情况再进行说明。C为了避免每页都要写request.setCharacterEncoding("UTF-8"),建议使用过滤器对

6、所有jsp进行编码处理。这个网上有很多例子。请大家自己查阅。3表单get提交方式的乱码处理方式。如果使用get方式提交中文,接受参数的页面也会出现乱码,这个乱码的原因也是tomcat的内部编码格式iso8859-1导致。Tomcat会以get的缺省编码方式iso8859-1对汉字进行编码,编码后追加到url,导致接受页面得到的参数为乱码/、。解决办法:A使用上例中的第一种方式,对接受到的字符进行解码,再转码。BGet走的是url提交,而在进入url之前已经进行了iso8859-1的编码处理。要想影响这个编

7、码则需要在server.xml的Connector节点增加useBodyEncodingForURI="true"属性配置,即可控制tomcat对get方式的汉字编码方式,上面这个属性控制get提交也是用request.setCharacterEncoding("UTF-8")所设置的编码格式进行编码。所以自动编码为utf-8,接受页面正常接受就可以了。但我认为真正的编码过程是,tomcat又要根据Connectorport="8080"maxThreads="150"minSpareThreads="2

8、5"maxSpareThreads="75"enableLookups="false"redirectPort="8443"acceptCount="100"debug="0"connectionTimeout="20000"useBodyEncodingForURI="true"disableUploadTimeout="true"URIEncoding="UTF-8"/里面所设置的URIEncoding="UTF-8"再进

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

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

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