第13章 国际化和JSP中文乱码处理.ppt

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第13章 国际化和JSP中文乱码处理

第13章 国际化和JSP中文乱码处理 目标 国际化 JSP中文乱码处理 国际化 本地化和国际化的概念 Java对国际化的支持 国际化的JavaWeb应用的示例 本地化和国际化的概念 在过去,软件开发者在开发应用程序时,将注意力集中于实现具体的业务逻辑。软件面向的用户群是固定的,软件只需要支持一种语言。如今,随着跨国业务的迅猛发展,需要同一个软件同时支持多种语言和国家。 国际化[Internationalization](简称为I18N)指的是在软件设计阶段,就应该使软件具有支持多种语言和地区的功能。软件的本地化与国际化的区别如下图: Java对国际化的支持 Locale类 java.util.Locale类是最重要的Java国际化类,在Java语言中,几乎所有对国际化和本地化的支持都依赖于这个类。Locale类的实例代表一个特定的语言和地区。 ResourceBundle类 java.util.ResourceBundle类提供存放和管理与Locale相关的资源的功能。这些资源包括按钮上的文字、状态信息、图片名、错误信息和网页标题等。 国际化的JavaWeb应用的示例 资源文件 login.jsp JSP中文乱码处理 在Web应用中,当客户端向服务器提交请求的时候,提交的信息一般用本地字符集进行编码,如中文采用GB2312或GBK字符集(GBK是GB2312的扩展),英文或西欧文字采用ISO-8859-1字符集。由于Java程序中一律采用Unicode处理字符串,当JSP文件转成Java文件时,大部分服务器默认使用ISO-8859-1字符集来进行编码,所以出现乱码问题也是在所难免的。于是,就要求我们在编写程序的时候,进行编码转换。 本章中会介绍以下几种JSP中文乱码的解决方案。 使用指令元素设置字符编码 使用request对象设置字符编码 使用String对象设置字符编码 修改TOMCAT服务器的server.xml文件 使用过滤器设置字符编码 方案一:使用指令元素设置字符编码 方案二:使用request对象设置字符编码 方案三:使用String对象设置字符编码 方案四:修改TOMCAT服务器的server.xml文件 方案五:使用过滤器设置字符编码 总结 国际化 JSP中文乱码处理 * * 中文Web 客户 英文Web 客户 Web应用 中文版 Web应用 英文版 中文Web 客户 英文Web 客户 Web应用 中文资源 文件 英文资源 文件 资源文件 resource_zh_CN.properties resource_perties login.jsp resource_perties title=SystemLogin username=UserName: password=Password: submit=Login china=China usa=USA resource_zh_CN.properties title=\u7cfb\u7edf\u767b\u5f55 username=\u7528\u6237\u540d\uff1a password=\u5bc6\u7801\uff1a submit=\u767b\u5f55 china=\u4e2d\u56fd usa=\u7f8e\u56fd %@page contentType=text/html; charset=GBK% %@page import=java.util.*,java.io.*,java.text.*% htmlheadtitlelogin/title/headbody % String language = request.getParameter(language); Locale locale; if (language == null || language.equals()) { locale = request.getLocale(); } else { locale = new Locale(language); } ResourceBundle rb = ResourceBundle.getBundle(resource, locale); % form action=login.jsp method=POST select name=language option value=zh_CN%=rb.getString(china)% /option option value=en%=rb.getString(usa)% /option /select input type=submit value=go /formhrh3%=rb.getString(title)%/h

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档