浅议JSP及Servlet程序中中文显示问题.docxVIP

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

浅议JSP及Servlet程序中中文显示问题 摘要:JSP是一种在服务器端编译执行的Web设计语言, 在使用JSP程序的过程中,常遇到中文乱码问题,很多人为 此头疼不已,初学的时候我就深受其害,而且使用平台不同, 中文乱码问题的解决方法也不同,无形中增加了学习JSP的 难度。该文对提出了四种解决中文显示乱码的解决办法。 关键词:字符集;字符编码;乱码 中图分类号:TP311文献标识码:A文章编号: 1009-3044 (2012) 32-7861-02 计算机中储存的信息都是用二进制数表示的;而我们在 屏幕上看到的英文、汉字等字符是二进制数转换之后的结 果。通俗的说,按照何种规则将字符存储在计算机中, 如a用什么表示,称为”编码”;反之,将存储在计算 机中的二进制数解析显示出来,称为”解码”,在解码过程 中,如果使用了错误的解码规则,则导致a解析成b 或者乱码。[1〕 现在大部分具有国际化特征的软件核心字符处理都是 以 Unicode 为基础的。中文字符集有GB2312-80, GBK , Java程序无论是以字符流读/写文件,还是从URL连接 读取参数值,都会有字符编码的转换。从理论上来说,这些 根据字符集设置而进行的字符转换不应该产生太多问题。而 事实是由于应用程序的实际运行环境不同,Unicode和各 个本地字符集的补充、完善,以及系统或应用程序实现的不 规范,转码时出现的问题时时困扰着程序员。该文就显示中 文时出现乱码的问题的解决办法作一个简单的介绍,希望能 让大家从中受益。 JSP页面显示中文乱码的解决办法 在JSP页面中,中文显示乱码有两种情况:一种是HTML 中的中文乱码,另一种是在JSP中动态输出的中文乱码。如 果是在JSP页面中写入如下页面指令,那么在该页面中如果 要显示中文就一定会出现乱码,原因在于它没有在JSP中指 定页面显示的编码,消除乱码的解决方案很简单,首先需要 在建立了一个WEB项目后,把该项目的编码集先修改成GBK, 这样可以减少很多有关显示中文乱码的问题。然后把page 指令改为即可。原理就是向页面指定编码为GBK,那么页 面就会按照此编码来显示,于是乱码消失。在NetBeans下 创建JSP页面时,该page指令一般会自动生成。大家注意 在自己修改时不要把contentType类型删除或者修改错误即 可。 URL传递参数中文乱码的解决办法 一般情况下在使用get方法提交表单的时候传递的参数 如果是中文的话很可能会出现乱码。在index, jsp页面中添 加一条这样的语句: 请点击 你提交的参数为: 如果上面这个JSP程序是通过一个URL链接向自身传递 一个参数,这个参数是中文字符串,对于URL传递中文参数 乱码这个问题,其处理方法就是在页面添加一行Java代码, 设置请求的字符编码类型 就可以了。 3表单提交的中文乱码的解决办法 对于表单的数据可以使用 String uName=request. getParameter (Name)的方法获取,但 是当表单中出现中文数据的时候就会出现乱码。产生乱码的 原因是服务器对于post方法提交的表单采用的默认编码为 IS0-8859-1,而这种编码格式不支持中文字符。对于这个问 题可以采用转换编码格式的方法来解决,先将此变量转换成 IS0-8859-1的编码格式,然后再强制转换成字符即可,改动 如下:S tring uName=new St ring (reques t. getParame ter (” Name”). getBytes (” IS0-8859T”)) [2] 4数据表中数据乱码的解决办法 这种乱码会使你插入数据库的中文变成乱码,或者读出 显示时也是乱码,解决方法如下:在数据库连接字符串中 加入编码字符集 String Url= jdbc : mysql : //localhost/digitgulf coding=GBK” ; [3] 并在页面中使用如下代码 response. setContentType ( text/html ; charset=GBKn ); request. setCharacterEncoding (,‘ GBK ); //设置 请求的字符编码为GBK 5结束语 其实JSP/Servlet的中文编码并没有想象的那么复 杂,虽然定位和解决问题没有定规,各种运行环境也各不尽 然,但原理是一样的。了解字符集的知识是解决字符问题的 基础。不过,随着中文字符集的变化,不仅仅是java编 程,中文信息处理中的问题还是会存在一段时间的。 目前流行的数据库主要有sql server, mysql, oracle, DB2等,其中mysql作为免费DB中的老大,性能和功能是得 到公认的,安装配置比较方便,相应的驱动程

文档评论(0)

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

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

1亿VIP精品文档

相关文档