|
|
发表于 2007-12-4 17:09:28
|
显示全部楼层
Post by goodluck1982;1791425
问题在于接触linux之前就不曾遇到过编码问题,甚至都不知道编码这个东西
所以一到linux下时,对各个层面上使用的是什么编码一时很难弄清楚
而且转换来转换去的,也不知道转了几遍
反正很容易搞糊涂就是了
虽然现在明白了点
但依然记得曾经的糊涂
而且现在有时也还被弄糊涂了
现在再糊涂也就是因为不知道过程中使用了几个编码,分别是什么
我们所谓的编码问题,本质上只原有的系统同国际化的标准之间的兼容问题。很多人接触Linux遇到乱码,不是因为Linux的编码处理的不好,而是这些人使用的原有的系统的编码的解决方案的问题。
比如Windows目前采用的解决方案,即内部使用Unicode再转为本地化编码的方法。其实只为自己的开发和向前兼容提供便利,并没有解决数据(尤其是文件)交换时的问题。像SMB协议,如果真的采用Unicode,我们用Linux访问也根本不会遇到乱码的问题。而衍生的,想MP3等媒体文件的id3v1的tags,也是因为这这种方案造成的。
这种方案看似有利于本地化,但是在网络的普及所促成的国际化的大环境下,毛病就暴露了出来。比如中日韩用户交换MP3时,就会出现乱码问题。中日韩相互访问各自的网站,也会时常会出现因为不指定encoding而导致页面乱码。同样道理,我们使用Linux出现乱码也是因为Linux的国际化社区背景,原来系统的编码问题遇到Linux就暴露了出来。因此乱码是Windows的问题,不是Linux的问题。
而解决的办法只有在开发新的协议和媒体格式的时候,考虑到编码的问题,或者使用统一的编码,或者使用编码标记。eMule和完善后的BT的torrent文件格式,采用了前者,而ID3v2则采用了后者。但是对于大量不支持国际化编码的协议和文件格式。只能采用假设其默认编码或者运行时给用户选择的办法解决了。比如我们配置Samba客户端解决乱码问题,和XMMS等播放器中的默认编码等,就是前者。而一些BT客户端每次添加新的torrent文件时会显示集中编码解码的结果让用户选择解码正确的一种,就属于后者。
也许有人认为这种问题微不足道,大多数人根本没必要接触其他编码。但是这个问题是潜在的,总有一天会我们的国家会成为日韩那样开放的现代化国家,我们可千万不能托了后腿哦。
所以Byakko_Ang认为使用Linux系统,使用UTF-8的locale,并且让文本和MP3的tags使用utf8编码是一中爱国行为。应当多多提倡。:-) |
|