`

从原理上解决Tomcat中文问题

阅读更多

从原理上解决Tomcat中文问题

http://www.zhujiangroad.com/html/soft/s2979.html

 


  很多开源软件都有国际化和本地化的问题,其实国际化本没有那么复杂,只是总有些公司 希 望通过拒绝国际标准来提高市场占有率,所以也就渐渐导致了现在的情况。很多开源软件首要支持的便是UTF编码,然后才是其他编码。(by gashero)当然也有些不着调的软件首选的是ISO-8859-1编码,甚至是ASCII编码。好了,下面先讲讲编码,因为Tomcat也是 一种 不着调的软件。

  常见的中文编码有GB2312、GBK、GB18030等等,当然没有包括繁体中文,这些编码都是表示编码,而并非是显示编码。现在越来越多的软件,在其核心使用 的显示编码或者说处理编码,是Unicode编码。Unicode编码使用2字节表示了世界上几乎所有的文字符号,作软件的内部国际化处理再适合不过了。

  只是有些龌龊公司,为了商业目的,对内核的Unicode编码API全部屏蔽,对外只提供本地化编码。(by gashero)比如M$公司在中文软件上就主推GBK编码。

  还有一个问题就是用C/C++编写的很老的软件,字符串结束标志是'\0',而使用Unicode的话,会无故的截断一些字符串。所以UTF-8就应运而生了,这种变长编码既可以减小字符串的体积,也可以防止阶段而传输Unicode编码。

  至于传统的英文编码,最常见的就是两种。一是ASCII,这种字符集高位为0,用7位表示数据。另一种是ISO-8859-1,每个字符1字节,用8位表示一个字符。

  Tomcat的内置编码就是使用了ISO-8859-1。这也是本文最关键 的一句,各种 技巧 的根本。

  由此可知由网页所提交的数据就需要从ISO-8859-1解码,如下是 获得 提交参数number的例子。

  String number=new String(request.getParameter("number").getBytes("ISO-8859-1"),"UTF-8");

  这句就成功的实现了从ISO-8859-1向UTF-8编码的转换。

  有经验的读者应该遇到过通过<jsp:param>标签传递网页间参数时出错的问题。(by gashero)接收到的字符串只要是无论如何都是一堆问号。其实这也是Tomcat内部编码所导致的。如果可以顺应Tomcat的内部编码就可以传递中文字符串了。

  比如一个页面间的内部重定向:

  <?xml:namespace prefix = jsp /><jsp:forward page="index.jsp">

  <jsp:param name="name" value="<%=new String(" % 中文参数?.getBytes(?UTF-8?),?ISO-8859-1?)>" />

  </jsp:forward>

  而在目的页面接收参数的时候也需要再次从ISO-8859-1编码转换到UTF-8编码。这样就实现了在页面之间传递中文参数。

分享到:
评论

相关推荐

    Tomcat深入剖析pdf+源码(Tomcat运行原理)

    通过阅读和分析源码,可以加深对Tomcat运行原理的理解,这对于解决实际问题和进行性能调优非常有帮助。 总之,《Tomcat深入剖析》结合源码分析,是一本全面且深入的Tomcat学习资源,无论是初学者还是经验丰富的...

    如何解决Tomcat下中文乱码问题?

    总结来说,解决Tomcat下的中文乱码问题,关键在于确保JSP页面的编码与服务器设置一致,并在处理表单提交时正确设置请求的字符编码。在实际开发中,推荐使用UTF-8作为统一的编码标准,因为UTF-8能够兼容各种语言,...

    Tomcat中文手册.doc

    《Tomcat中文手册》提供了关于Apache Tomcat的基础信息和详细指南,主要涵盖了以下几个核心知识点: 1. **Tomcat的安装**:Tomcat的二进制版本安装过程简单,包括下载ZIP或TAR.GZ文件,解压到指定目录,设置环境...

    tomcat中文帮助手册

    《Tomcat中文帮助手册》是Java Web开发领域中不可或缺的参考资料,它详尽地阐述了Apache Tomcat服务器的配置、管理、部署以及故障排查等方面的知识。Tomcat作为一款开源的Servlet容器,是许多Web应用程序的基础,...

    深入剖析Tomcat中文版

    《深入剖析Tomcat中文版》一书的内容主要围绕着Tomcat4版本展开,详细讲解了Tomcat的架构和底层原理,并为读者提供了一个如何从零开始构建基于Servlet的Web服务器的实践过程。接下来,我们将从Tomcat的架构、Tomcat...

    tomcat工作原理深入详解——HowTomcatWorks中文版.pdf

    通过阅读本书,读者不仅可以了解Tomcat的内部工作流程,还能掌握如何优化Tomcat的性能,解决实际部署中遇到的问题。 总之,《How Tomcat Works》中文版是理解Tomcat工作原理的宝贵资源,无论你是Java Web开发者还是...

    tomcat8.zip

    "readme.txt"通常是提供关于压缩包内容的说明文档,可能包含了编译、安装、运行Tomcat的步骤,以及可能遇到的问题和解决方法。而"tomcat8"很可能是一个解压后的Tomcat源码目录,包含了源代码文件、构建脚本、配置...

    How Tomcat Works 中文版/英文版 + 源码

    《How Tomcat Works》是一本深入解析Apache Tomcat服务器内部工作原理的重要参考资料,它提供了对Tomcat架构的全面理解,包括其设计、配置和优化。这本书的中文版和英文版都为读者提供了便利,无论你是母语为中文...

    how tomcat works 中文版及源码

    总之,掌握Tomcat的工作原理对于Java Web开发者至关重要,它不仅能提高开发效率,也有助于解决实际项目中遇到的各种问题。结合书籍和源码,学习者可以更全面、深入地理解这一核心的Java Web服务器。

    how tomcat work

    《深度剖析Tomcat》这本书是理解Apache Tomcat工作原理的重要参考资料。Tomcat是一款开源的Java Servlet容器,广泛用于部署Web应用程序。以下将详细介绍Tomcat的工作流程及其核心概念。 1. **Tomcat架构**: ...

    深入剖析TOMCAT_高清中文_带完整章节目录多版本

    8. **故障排查与日志分析**:提供解决Tomcat运行时问题的方法,如何解读和分析服务器日志,以及如何使用JMX进行远程监控。 9. **最新版本特性**:书中可能包含不同版本Tomcat的新功能和改进,例如Tomcat 8引入的...

    《深入剖析TOMCAT》中文版的源码

    通过阅读《深入剖析TOMCAT》的源码,我们可以看到Tomcat设计的优雅之处,学习到如何优化性能,解决实际问题,甚至参与到Tomcat的社区开发中去。书中的每个章节都对应着源码中的关键部分,结合书本理论与源码实践,将...

    Tomcat权威指南第二版中文

    《Tomcat权威指南第二版中文》是一本深入探讨Apache Tomcat服务器的重量级技术书籍,适合广大Java Web开发者和系统管理员阅读。这本书详尽地介绍了Tomcat的内部工作原理、配置、性能优化以及安全管理等方面的知识,...

    tomcat8权威指南

    《Tomcat 8 权威指南》是一本深入解析Apache Tomcat 8的中文书籍,旨在为读者提供全面且深入的Tomcat 8知识。Tomcat作为一款广泛应用的开源Java Servlet容器,是许多Web应用程序的基础。这本书对于理解、配置、管理...

    how tomcat works中文版.pdf百度网盘下载地址

    根据提供的文件信息,本文将围绕“Tomcat工作原理”这一主题进行深入探讨,并结合与Java Tomcat相关的背景知识,为读者提供一个全面的理解框架。 ### 一、Tomcat简介 Apache Tomcat是一款开源的Servlet容器,它...

    Tomcat中文DOC

    尽管提供的部分内容似乎无法解析,但从标题“Tomcat中文DOC”及描述“汉化的很不错,但是可惜只有在线版本”中,我们可以推测该文档主要提供了Tomcat的一些中文文档资料,并且这些资料只提供在线访问。 ### Tomcat...

    TOMCAT权威指南带目录中文第二版

    同时,也讲解了日志管理、错误处理和故障排查技巧,帮助开发者及时发现并解决运行中的问题。 本书还涉及了Tomcat与其他技术的集成,如Spring框架、MyBatis、Hibernate等,为读者展示了在实际项目中如何将Tomcat与...

    tomcat权威指南

    6. **故障排查**:讲解如何通过日志分析、错误码查找、性能瓶颈检测等手段,解决Tomcat运行中出现的问题。 7. **集群与负载均衡**:介绍如何通过集群实现高可用性和负载均衡,包括复制、session同步以及Nginx或...

    <<How tomcat works>> 英文版 中文版 源码

    阅读这本书并结合源码,有助于开发者深入理解Web服务器的工作原理,对于解决实际问题,如性能调优、故障排查等有着极大的帮助。此外,对Tomcat的深入理解也能为转向其他Java应用服务器,如Jetty、GlassFish等打下...

Global site tag (gtag.js) - Google Analytics