科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道专家讲述J2EE中的多字节字符的处理 (2)

专家讲述J2EE中的多字节字符的处理 (2)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

专家讲述J2EE中的多字节字符的处理 (2)

作者:observer 来源:Matrix 2007年11月18日

关键字: 字符 多字节 J2EE

  • 评论
  • 分享微博
  • 分享邮件

不同的语言使用不同的字码表,每个字码表都有一些特定的编码方式。在某些情况下,当你选用某种语言时就已经不自觉地选择了某种字符编码方式。例如当你选用中文的时候,在默认情况下你用的可能就是GBK中文字码表及称作GBK的特定字符编码方式。

为了不致混淆,我避免使用字符集这个词。显然,字符集与字码表是同义词。字符集在HTTPMime(多用途网际邮件扩充协议)页头里被误用,其实这里的“charset(字符集)”是指“encoding(编码)”。

Java的特征之一是字符是16位的,这样就能支持Unicode(一种表示各种语言中许多不同种类的字符的标准方式)。不幸的是,这个特征在开发多字节J2EE应用中也引发了许多问题,本文将就此进行讨论。

开发阶段引起的显示问题

J2EE应用开发包括若干个阶段(如图1所示),每个阶段都可能导致多字节字符显示问题。

图1 J2EE应用开发生命周期

编码阶段

当你开始J2EE应用编码时,大多数情况下你会用JBuilder、NetBean之类的IDE,或者是UltraEdit、Vi之类的编辑器。无论你选择了哪一个,只要在JSP(JavaServer Pages)、Java或HTML文件中有文字字符串,而且这些字符串是像中文或日文这样的多字节字符,那么你要是不小心的话就很可能会遇到显示问题。

文字字符串是存储于文件中的静态信息,不同语言的字符采用不同的编码方式。大多数IDE的默认编码方式是ISO-8859-1,这种编码方式适合ASCII字符,但会使多字节字符丢失信息。例如,中文版的NetBean在对文件编码时其默认编码方式就不幸为ISO-8859-1。

查看本文来源
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章