debian 终端 中文乱码

   今上午发现终端查看文件,发现文件名为中文的文件名称显示全为乱码(此时终端可以输入中文)。google了下,有个解决法案是在/etc/default/locale 文件里写入:
      LANG=C
这个方法的确能解决终端显示中文乱码的问题,但却导致scim中文输入法不能使用。此时用locale命令显示结果:
LANG=en_US.utf8
LC_CTYPE=en_US.utf8
LC_NUMERIC=en_US.utf8
LC_TIME=en_US.utf8
LC_COLLATE=en_US.utf8
LC_MONETARY=en_US.utf8
LC_MESSAGES=en_US.utf8
LC_PAPER=en_US.utf8
LC_NAME=en_US.utf8
LC_ADDRESS=en_US.utf8
LC_TELEPHONE=en_US.utf8
LC_MEASUREMENT=en_US.utf8
LC_IDENTIFICATION=en_US.utf8
LC_ALL=
这就很奇怪了,现在要么是能显示中文不能输入中文,要么是能输入中文不能显示中文。然后想到看看ubuntu里面是怎样配置的(ubuntu英文显示菜单,能输入中文)。运行locale,发现与上面的一模一样,只是将utf8换成了UTF-8。这可怎么办呢?
想象一开始的配置(终端显示中文乱码,能输入中文)是:
LANG=en_US.utf8
LC_CTYPE=zh_CN       #此处不一样
LC_NUMERIC=en_US.utf8
LC_TIME=en_US.utf8
LC_COLLATE=en_US.utf8
LC_MONETARY=en_US.utf8
LC_MESSAGES=en_US.utf8
LC_PAPER=en_US.utf8
LC_NAME=en_US.utf8
LC_ADDRESS=en_US.utf8
LC_TELEPHONE=en_US.utf8
LC_MEASUREMENT=en_US.utf8
LC_IDENTIFICATION=en_US.utf8
LC_ALL=
实在无奈之下,就乱改了。发现将/etc/environment改成如下可正常显示中文,也能输入中文:
LANGUAGE="en_US:en"
LANG=en_US.utf8
LC_CTYPE="zh_CN.utf8"    #修改之处
LC_NUMERIC="en_US.utf8"
LC_TIME="en_US.utf8"
LC_COLLATE="en_US.utf8"
LC_MONETARY="en_US.utf8"
LC_MESSAGES="en_US.utf8"
LC_PAPER="en_US.utf8"
LC_NAME="en_US.utf8"
LC_ADDRESS="en_US.utf8"
LC_TELEPHONE="en_US.utf8"
LC_MEASUREMENT="en_US.utf8"
LC_IDENTIFICATION="en_US.utf8"

这样糊里糊涂的就解决问题了。

你可能感兴趣的:(linux)