一 出现乱码原因分析
由于ANSI码先天的原因,除了ASCII码中的128个标准字符,各国了为支持各自的语言,都把128-256后面这些字符的想法.
通过各个算法和组合方法将后面的128个字符组成各自国家的编码,必然出现各个国家的编码不一致的情况.比如,在日文环境下开发的非 UNICODE 的日文程序界面,拿到中文环境下运行时,界面上将显示乱码。如果这个日文程序界面改为采用 UNICODE 来记录字符串,那么当在中文环境下运行时,界面上将可以显示正常的日文。同样,对在中文环境下开发的非 UNICODE 程序同样存在此问题。
这些组合方法大致都是通过两字符组合的方式将字符组合.而windows系统当初为了实现多国语言,竟然默认了这种做法.
为此专门开辟了区域语言选择功能为支持这种现象:
目前像迅雷这种不支持unicode只支持简体中文的软件在香港这种繁体系统运行时,就会出现乱码.这时想运行迅雷,就需要在上图中选择简体中文了.
二 何方为支持UNICODE的软件
怎么知道一个软件是否支持Unicode?
如果是 Windows,可以在「区域和语言选项」中的「高级」页里选择一种明显有别于当前语言的「在使用非 Unicode 程序时使用的语言」,如果运行此程序出现乱码,就是不支持 Unicode 的
参考博客:
http://jingyan.baidu.com/article/f0062228f55e8dfbd3f0c800.html