乱语
在Linux经常遇到中文乱码的情况,整理一下:
- 字符集不能显示中文;
- 终端不能正常显示中文;
- 文件名本身便是乱码的(多见于 Windows 下拷贝文件到 Linux )。
解决方案
- 字符集的问题,大多数情况下,在终端里面输入
locale
,查看当前系统所支持的字符集,改变当前用户或者系统的字符集,就可以了。如图带utf-8
的都可以显示中文,在终端输入来改变当前用户所使用的字符集就可以了;1
2echo export LANG=zh-CN.UTF-8 >> .bashrc
source .bashrc - 第二种,终端问题,症状表现为,在GUI界面或者Windows的xshell、putty、cmder远程ssh登录Linux可以正常显示中文,但是Linux主机连接显示器之后,在tty界面(亦称纯字符界面,按ctrl + Alt + F1/2/3/4/5/6可以打开)中文显示为方框或者问号。百度得到的答案有两种——安装zhcon或者fbterm,经试验,fbterm表现效果较佳;
- 第三种的话,给文件名的编码方式改一下就好,可参考此文章。
PS
为了兼容各种语言,生出了N多字符集,若是能够大一统,自然最好了,省得折腾。不过由于各种纠纷,就算有一个字符集能够显示所有文字,还是没办法统一起来。
至于tty界面下无法正常显示中文,是因为内核上不支持,可以通过为内核安装补丁解决,也可以通过安装fbterm
这样的类终端软件解决,能搞定就好了,管他呢。
生命重在折腾