admin 发表于 2011-9-28 22:35:31

Fedora13对中文的支持很好也很差!!

       计划把习语言移植到linux下,准备好Fedora13英文环境,配置为中文后,惊喜的发现linux界面和各个软件菜单都自动变成中文了,支持的不错,用GCC编译,出错提示里也很多中文,确实中文支持做的不错。

       windows下的中文文件名可以完好的显示,没有任何问题,这点也不错。

       到目前为止,Fedora13中文做的都不错。后面就发现问题了

      编译的windows下的代码为可执行程序后,输出的中文信息在控制台里无法正常显示。经过Fedora13和windows下的对比分析,才发现,Fedora13下只能使用utf-8编码支持中文,没有做UTF-8和国标码的兼容和转换。所以在控制台里选择国标码时,中文文件名无法显示,也无法正确创建国标码文件名或目录名。选择UTF-8则不认识任何国标码。

      linux下做的好的是gedit,没有字符集选择项,却能自动识别UTF-8和国标码,两种编码的文本文件都可以自动正确显示。

      windows下是EditPlus做的不错,能自动识别并正确显示UTF-8和国标码两种编码的文本文件,UltraEdit却无法正确显示UTF-8编码的文本文件。习语言自带的编辑器在选择UTF-8编码后也可以正确显示UTF-8编码文本。

      值得称赞的是Windows控制台的实现,完美处理了UTF-8和国标码的兼容。从WINDOWS下创建的中文文件名可以在Fedora13下正确显示可知,WINDOWS和Fedora13都是使用的UTF-8编码来命名文件名的。但WINDOWS在控制台里显示又是用的国标码。控制台下也可以输入国标编码的中文命令 和中文参数,控制台会自动将中文命令转换为UTF-8编码去查找命令是否存在。参数中假如有文件名,会在进行文件访问时转换为UTF-8编码进行访问。

         windows应该是用了一个转换层实现了不同编码的兼容,底层访问文件统一使用UTF-8编码,中间加个转换层,根据系统编码不同,做系统编码和UTF-8编码的转换。Fedora13下的做法就简单很多,没有这个转换层,引出很多兼容问题。

      看来目前Fedora13还不适合作为中文开发环境,需要先改造Fedora13的控制台程序,增加编码转换,达到windows的处理程度才行。毕竟用WINDOWS的时间多,大部分中文文件使用的是国标码。目前新版linux采用纯粹的UTF-8忽略兼容不太妥当。

      没有研究linux下的中文字库,按说中文字库采用的都是国标编码,linux采用UTF-8编码,难道使用的是UTF-8编码的中文字库?这样的话,windows下的字库,linux就不能直接用了。

      这个世界,还是走兼容的路线好。个人感觉三方的工具好多都不错的,像细雨所言便是三方工具之一……
页: [1]
查看完整版本: Fedora13对中文的支持很好也很差!!