Linux的编码问题


Linux的编码问题
 
报:/bin/sh: warning: setlocale: LG_ALL: cannot change locale (default)
  www.2cto.com  
全新的字符库编码信息位于 /usr/share/i18n目录下面,其中SUPPORTED中包含可用的所用字符集,格式如下:  
...
zh_HK BIG5-HKSCS
zh_SG.UTF-8 UTF-8
zh_SG.GBK GBK
zh_SG GB2312
zh_TW.EUC-TW EUC-TW
zh_TW.UTF-8 UTF-8
...
其中的charmaps存的每种字符集的映射信息,可以称为最初文件(可能有术语,不管这么多啦)。使用localedef可以生成字符集,就是 locales里面那些东东。
但这些并不是系统中能用的字符集。刚才描述的这些/usr/share/i18n里面的文件只能算是可用的字符集,locale -m可以看到列表。
  www.2cto.com  
由于Linux中包含的字符集有几十种,而用户一般能用到的最多就是多种,没必要把所有字符集都集成到系统里。系统里面只使用部分字符集。另外为了让系统能使用,
原始的/usr/share/i18n中的文件要经过处理(complile),能用的字符编码在/usr/lib/locale/下面,成为complied字符集。
建议执行这个设置:localedef -v -c -i en_US -f UTF-8 en_US.UTF-8
(记得要区分大小写)
 

相关内容

    暂无相关文章