jsp中文编码乱码的分析与解决.docVIP

  1. 1、本文档共7页,可阅读全部内容。
  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文档。上传文档
查看更多
jsp中文编码乱码的分析与解决.doc

jsp中文编码乱码的分析与解决 摘要jsp技术目前普遍应用于网络编程,java在中文处理方面经 常出现乱码现象。本文从分析各种常见的jsp页面中文乱码产生的原 因入手,并给出该乱码的解决方案。经过多次实践,基本可以解决常 见jsp页面常见的中文乱码问题,有着很好的广泛性。 本文采集自网络,本站发布的论文均是优质论文,供学习和研究 使用,文中立场与本网站无关,版权和著作权归原作者所有,如有不 愿意被转载的情况,请通知我们删除匕转载的信息,如果需要分享, 请保留本段说明。 关键词网络编程;中文乱码;jsp页面编码 中图分类号TP39文献标识码A文章编号1674-6708 (2011) 57-0183-02 0引言 JSP (Java Server Pages)是由Sun公司倡导、许多公司参与一 起建立的一种动态网页技术标准,jsp技术采用java作为开发脚本语 言,java本身有着很好的跨平台性,但是jsp在结合页面技术后,最 使人头疼的一个问题就是不能很好的处理中文乱码问题,在开发过程 中带来诸多不便,本文从剖析中文乱码产生的各种原因入手,并给出 相应的解决方案。 1中文乱码的根源 1)中文的编码很多,在不同的情况下可能有多种不同的二进制值; 2) 在某些应用中传递数据时,可能把中文转换成其它形式; 3) 在一个应用系统中,编码之间存在各种各样的转换; 4) 在转换过程中需要制定编码方式; 5) 在具体实践过程中,可能忽略或忘记设置编码; 6) 不同的软件环境其编码设置方式不同也容易导致中文乱码; 7) 编码工具的多样性以及对编码的模糊认识不清。 2常见的jsp页面中文乱码 网上常出现的JSP/Servlet encoding问题一般都表现在 browser或应用程序端,如: 浏览器中看到的Jsp/Servlet页面中的汉字怎么都成了‘?浏 览器中看到的Servlet页面中的汉字怎么都成了乱码;JAVA应用程 序界面中的汉字怎么都成了方块;Jsp/Servlet页面无法显示GBK汉 字;Jsp/Servlet不能接收form提交的汉字;JSP/Servlet数据库 读写无法获得正确的内容。 3中文乱码产生原因分析 1)在 jsp 中如果指定了〈%@ page contentType=’’text/html; charset=A %〉,那么在该jsp中所有用到的数据,如果?]有指定编码, 那么这些数据的编码方式为A。 从request得到的数据如果没存指定request的编码的话,默认 编码为 iso_8859-1。 假设从别的地方得到的数据是使用原来初始的编码的,比如从数 据库得到数据,如果数据库的编码是B,那么该数据的编码是B而不 是A,也不是系统默认的,此时,如果要输出的数据的编码不是A,那 么,很可能显示乱码,所以首先要将数据正确转化为编码A,然后再 输出; 2)在 jsp 中如果没有指定〈%@ page contentType=〃text/html; charset=A〃 %〉,那么默认的 A 编码为 iso-8859-1; response. setContentType (〃text/html;charset=A〃), 说明将 response的字符输出流编码设置为A,所有要输出的数据的编码要转 化为A,否?t就会出现乱码。Servlet中从request得到的数据的编 码和jsp中一样的,但是在servlet java文件中构造的数据是使用是 系统默认的编码(iso-8859-1); servlet中从外部得到的数据使用的 是原来的编码,比如从编码为B的数据库得到的数据是编码为B,不是 A,也不是系统默认的编码。 4中文乱码解决方案 4. 1 JSP页面显示为乱码 如果只在页面中加入,该处指定的编码仅为浏览器对字符的显示 处理,但是服务器的编码方式和浏览器的编码方式对字符的单独处理, 所以还要在页面的第一行加上: %@ page contentType=z,text/html: charset=gb2312%〉,就可 以消除乱码了。 4. 2 Servlet接收Form/Request传递的参数时显示为乱码 方法1 :在使用request获取参数前,加上此语句: request. setCharacterEncoding (〃A〃),此处设置的编码要和传递参 数的页面采用的编码方式一致。 方法2:使用过滤器(filter),在doFilter方法中做如下处理: package com. knorray. filters: public class CharEncodingFilter implements Filter{ protected String encoding = null: public void

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档