扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
不同的语言使用不同的字码表,每个字码表都有一些特定的编码方式。在某些情况下,当你选用某种语言时就已经不自觉地选择了某种字符编码方式。例如当你选用中文的时候,在默认情况下你用的可能就是GBK中文字码表及称作GBK的特定字符编码方式。
为了不致混淆,我避免使用字符集这个词。显然,字符集与字码表是同义词。字符集在HTTPMime(多用途网际邮件扩充协议)页头里被误用,其实这里的“charset(字符集)”是指“encoding(编码)”。
Java的特征之一是字符是16位的,这样就能支持Unicode(一种表示各种语言中许多不同种类的字符的标准方式)。不幸的是,这个特征在开发多字节J2EE应用中也引发了许多问题,本文将就此进行讨论。
开发阶段引起的显示问题
J2EE应用开发包括若干个阶段(如图1所示),每个阶段都可能导致多字节字符显示问题。
编码阶段
当你开始J2EE应用编码时,大多数情况下你会用JBuilder、NetBean之类的IDE,或者是UltraEdit、Vi之类的编辑器。无论你选择了哪一个,只要在JSP(JavaServer Pages)、Java或HTML文件中有文字字符串,而且这些字符串是像中文或日文这样的多字节字符,那么你要是不小心的话就很可能会遇到显示问题。
文字字符串是存储于文件中的静态信息,不同语言的字符采用不同的编码方式。大多数IDE的默认编码方式是ISO-8859-1,这种编码方式适合ASCII字符,但会使多字节字符丢失信息。例如,中文版的NetBean在对文件编码时其默认编码方式就不幸为ISO-8859-1。 |
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。