为何ANSI编码的软件多语言环境下易出现乱码

一 出现乱码原因分析

    由于ANSI码先天的原因,除了ASCII码中的128个标准字符,各国了为支持各自的语言,都把128-256后面这些字符的想法.

通过各个算法和组合方法将后面的128个字符组成各自国家的编码,必然出现各个国家的编码不一致的情况.比如,在日文环境下开发的非 UNICODE 的日文程序界面,拿到中文环境下运行时,界面上将显示乱码。如果这个日文程序界面改为采用 UNICODE 来记录字符串,那么当在中文环境下运行时,界面上将可以显示正常的日文。同样,对在中文环境下开发的非 UNICODE 程序同样存在此问题。

 

    这些组合方法大致都是通过两字符组合的方式将字符组合.而windows系统当初为了实现多国语言,竟然默认了这种做法.

为此专门开辟了区域语言选择功能为支持这种现象:

 

为何ANSI编码的软件多语言环境下易出现乱码

 

    目前像迅雷这种不支持unicode只支持简体中文的软件在香港这种繁体系统运行时,就会出现乱码.这时想运行迅雷,就需要在上图中选择简体中文了.

 

二 何方为支持UNICODE的软件

    怎么知道一个软件是否支持Unicode?

    如果是 Windows,可以在「区域和语言选项」中的「高级」页里选择一种明显有别于当前语言的「在使用非 Unicode 程序时使用的语言」,如果运行此程序出现乱码,就是不支持 Unicode 的

 

参考博客:

http://jingyan.baidu.com/article/f0062228f55e8dfbd3f0c800.html

 

http://blog.csdn.net/manikuku/article/details/4504217

上一篇:移动端有排名PC端没排名有哪些原因


下一篇:《Web前端开发精品课——HTML5 Canvas开发详解》——第一部分第二章节