本文以Fedora 17为例子,其它系统可以找对应的命令和文件,以下方法几乎全部需要注销,才能生效。
1. xwindows下乱码
编辑/etc/sysconfig/i18n 或者 /etc/locale.conf
写入:
LANG=en_US.utf8 (这行是设置桌面显示语言,zh_CN.utf8或者zh_CN.gbk可以设置成汉语)
SUPPORTED="zh_CN.GB13030:zh_CN.GB2312:zh_CN.GBK:zh_CN.utf8:zh_TW.BIG5..." (注意这里省略号的意思是你还可以继续添加支持的语言,如en_US.utf8,如果要查询你安装的语言,可以在终端输入>locale -a)
SYSFONT=“lat0-sun16" (这行是设置系统显示的字体)
2. 控制台乱码
安装zhcon,zhcon不能运行在xwindows的终端下。
>yum install zhcon
然后Ctrl+Alt+Fx切换到控制台,登录之后
>zhcon --utf8
3. root用户中文显示终于正常了,普通用户不能显示
这是普通用户对字体使用权限的问题,fedora的字体保存在/usr/share/fonts下(Ubuntu下貌似不同),所以在终端输入以下命令
>chown -R yourusername /usr/share/fonts (把yourusername替换成不能显示中文的普通用户)
>chmod -R 755 /usr/share/fonts
4. 有些从Windows拷贝过来的文档,或者网上下载的文档,可能是乱码。
原因是Windows默认汉字编码是GB2312,Fedora以及其它Linux几乎都是默认为UTF-8的。所以需要转换文件编码
>iconv -f gbk -t utf-8 xxx > yyy
-f后面跟当前的编码,-t后面跟要得到的编码,xxx是当前文件名,yyy是转换后的文件名。如果你不知道原文件的编码,可以用vi打开,然后用vi的命令
:set fileencoding 查看。如果你安装了enca
>enca xxx
就可以查看xxx的编码。
>enca -L currentlanguage -x targetencoding filename
可以转换编码。如
>enca -L zh_CN -x utf-8 *
5. 文件名乱码
先安装convmv,然后
>convmv -f gbk -t utf-8 *
与iconv用法类似。