java中处理乱码问题个人总结.docVIP

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
java中处理乱码问题个人总结

[个人总结]java中处理乱码问题个人总结 java乱码的问题的可谓是老生常谈了,自从Java的内核以及class文件都是采用的unicode的编码,这样java程序就具有了很好的跨平台性,随之也就带来了乱码的问题的麻烦。出现乱码的问题原因主要有两个方面Java及JSP文件本身编译时产生的乱码和Java程序其他媒介交互产生的乱码。Java或JSP自身产生的乱码Java(包括JSP)源文件中很可能包含有中文,而Java和JSP源文件的保存方式是基于字节流的,如果Java和JSP编译成class文件过程LUPA开源社区 J(N2j:u!T中,使用的编码方式与源文件的编码不一致,就会出现乱码 }2{5R_AI0基于这种乱码,建议在Java文件中尽量不要写中文(注释部分不参与编译,写中文没关系),如果LUPA开源社区 f9ug? byM`必须写的话,尽量手动带参数-ecoding?GBK或-ecoding?gb2312编译;对于JSP,在文件头加上%U3Y| f l@?page?contentType=text/html;charset=GBK%或%@?page?contentType=Ys;r e}1gtext/html;charset=gb2312%基本上就能解决这类乱码问题。 对于第二类的这种乱码,可能的情况比较多,我们也分别来看: 页面参数传递是出现的乱码 这是因为Jsp获取页面参数时一般采用系统默认的编码方式,如果页面参数的编码类型和系统默认的编码类型不一致,很可能就会出现乱码。解决这类乱码问题的基本方法是在页LUPA开源社区 i!Zi%N7}3pM A 面获取参数之前,强制指定request获取参数的编码方式:request.setCharacterEncoding(GBK)或LUPA开源社区*K+s*e[2]a/y r0mrequest.setCharacterEncoding(gb2312)。如果在JSP将变量输出到页面时出现了乱码,可以通过设置LUPA开源社区o%X.d7v X]+\#} F response.setContentType(text/html;charset=GBK)或response.setContentTypeLUPA开源社区:kd6lJp Z;W]#d (text/html;charset=gb2312)解决。 Uar@ PUK0 %@ page contentType=text/html;charset=gb2312 取参数前需要先设置一下 request 对象的编码, request.setCharacterEncoding(gb2312); 否则取出来的中文会是乱码,必须要手工转换,即: new String(request.getParameter(click).getBytes(iso8859-1),gb2312); 这样做就麻烦了。需要注意的是设置 request 对象的编码必须要在取所有的参数之前,否则就无效了。 Tomcat 支持 GBK 没有问题,不过 Jetty 缺省只能支持 GB2312。使用: %@ page contentType=text/html;CHARSET=utf-8 % 是没有效果的。 有这个问题是因为在 Jetty 中将 GB2312 作为中国的缺省字符集。解决的方法是修改 Jetty 的代码,将 GB2312 改为 GBK(只有一个 Java 文件)。重新编译就可以支持 GBK 了。jetty4.21 版gbk的问题好象已经解决了,不过request仍然要编码 其实对于这种情况更简洁的处理办法就是使用servlet规范中的过滤器指定编码,在这里也提供一个简单的配置参考。 Web.xml: filterLUPA开源社区$v#XO4o;il filter-nameCharacterEncodingFilter/filter-nameLUPA开源社区Z7Zu%S8uTU+? filter-classweb.CharacterEncodingFilter/filter-classLUPA开源社区E!h(W?B;oI8u init-param r7MD _8NDf l_T.~0param-nameencoding/param-name C*mu8e!_ l5l0param-valueGBK/param-value T$d5H[}7o:i7?0/init-paramLUPA开源社区vtpp:T0R T2t)BE /filterLUPA开源社区6Zb%n4|/TP v filter-mapping E NZ2@zc7kd|0filter-nameCha

文档评论(0)

aicencen + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档