`
lvhuiqing
  • 浏览: 252345 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

日语机种依赖文字问题探析之二如何应对

 
阅读更多
1,如何应对之一 尽量避免使用
   这个问题对于日本的软件开发人员来说,也是一个棘手的问题。以下是他们的一个讨论结果。参见网址
   http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=11485&forum=3

   可见对于如何应对机种依赖文字,日本的软件开发人员虽然也是意见不一,但是『绝对不要使用』和『有限度的使用』这两条意见占据了主流。
   基于这个结果,个人得出的结论是,对于中国的软件开发人员,也是最好不要使用机种依赖文字,如果日本客户提出,最好据理力争,以避免麻烦。
   画外音:机种依赖文字本来为方便程序开发而生,到头来却成为程序员的噩梦,这不能不说是一件值得玩味的事情。居然还有四位日本同行投票『不需要特别注意』,是临时工干的吗?

2,如何应对之二 使用 Windows-31J 代替 Shift_JIS
   现在在Windows环境中使用的标准日文文字字符集不是「Shift_JIS」而是「Windows-31J」。这里需要澄清一下两个叫法的区别「MS932」和「Windows-31J」。在Java开发世界中,可以简单的认为两者是同一回事儿。虽然「MS932」这个名称出现的比较早,但是「Windows-31J」才是IANA的正式名称。
为什么使用Windows-31J可以避免由于机种依赖而引起的乱码问题呢,这是因为该字符集中包含了以下部分机种依赖文字。



参见网址 http://www.atmarkit.co.jp/fjava/rensai3/mojibake02/mojibake02.html

3,遗留问题
   但这绝非完全之策。与微软扩展Shift_JIS的同时,Mac OS等操作系统也对Shift_JIS进行了扩展。这样就带来了一个很显而易见的问题:如果开发过程中使用了「Windows-31J」中支持,而「MacJapanese」不支持的或者编码方式不一致的字符,就会出现问题。例如①这个字符在Windows下的编码是0x8740,而同样的编码到了Mac OS下就变成了(日)。所幸的是safari浏览器支持Windows-31J,因此在web开发中,使用Windows-31J永远是一个正确的选择。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics