0%

Linux的中文乱码问题

乱语

在Linux经常遇到中文乱码的情况,整理一下:

  1. 字符集不能显示中文;
  2. 终端不能正常显示中文;
  3. 文件名本身便是乱码的(多见于 Windows 下拷贝文件到 Linux )。

解决方案

  1. 字符集的问题,大多数情况下,在终端里面输入locale,查看当前系统所支持的字符集,改变当前用户或者系统的字符集,就可以了。如图utf-8的都可以显示中文,在终端输入
    1
    2
    echo export LANG=zh-CN.UTF-8 >> .bashrc
    source .bashrc
    来改变当前用户所使用的字符集就可以了;
  2. 第二种,终端问题,症状表现为,在GUI界面或者Windows的xshell、putty、cmder远程ssh登录Linux可以正常显示中文,但是Linux主机连接显示器之后,在tty界面(亦称纯字符界面,按ctrl + Alt + F1/2/3/4/5/6可以打开)中文显示为方框或者问号。百度得到的答案有两种——安装zhcon或者fbterm,经试验,fbterm表现效果较佳;
  3. 第三种的话,给文件名的编码方式改一下就好,可参考此文章

PS

为了兼容各种语言,生出了N多字符集,若是能够大一统,自然最好了,省得折腾。不过由于各种纠纷,就算有一个字符集能够显示所有文字,还是没办法统一起来。
至于tty界面下无法正常显示中文,是因为内核上不支持,可以通过为内核安装补丁解决,也可以通过安装fbterm这样的类终端软件解决,能搞定就好了,管他呢。

生命重在折腾