分页: 1 / 1
终端中文显示乱码
发表于 : 2016-10-08 16:20
由 xhsh
我的16.04是全新安装的。但home目录是原来的,用户名也是原来的。现在建立了一个原来相同的用户,相当于个人的设置都是原来的。但现在终端的中文显示乱码。而当建立一个新用户,利用这个新用户登录进入看我原来文件下的文件时,则所有的中文显示都正常。请问这是怎么回事?难道我个人的文件夹下还有什么设置造成干扰?应该修改哪个文件?谢谢!
Re: 终端中文显示乱码
发表于 : 2016-10-08 16:37
由 poloshiao
现在建立了一个原来相同的用户,
登入原來的用戶
把下面指令 複製 貼進終端機 執行
locale
把結果全部直接 選取/複製/貼上來
建立一个新用户
登入新用戶
把下面指令 複製 貼進終端機 執行
locale
把結果全部直接 選取/複製/貼上來
Re: 终端中文显示乱码
发表于 : 2016-10-08 20:57
由 xhsh
原来用户运行locale:
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=zh_CN.GBK
LANGUAGE=”zh_CN:zh:en_US:en”
LC_CTYPE=zh_CN.UTF-8
LC_NUMERIC=zh_CN.UTF-8
LC_TIME=zh_CN.UTF-8
LC_COLLATE="zh_CN.GBK"
LC_MONETARY=zh_CN.UTF-8
LC_MESSAGES=zh_CN.UTF-8
LC_PAPER=zh_CN.UTF-8
LC_NAME=zh_CN.UTF-8
LC_ADDRESS=zh_CN.UTF-8
LC_TELEPHONE=zh_CN.UTF-8
LC_MEASUREMENT=zh_CN.UTF-8
LC_IDENTIFICATION=zh_CN.UTF-8
LC_ALL=
新建的用户运行locale:
LANG=zh_CN.UTF-8
LANGUAGE=zh_CN:
LC_CTYPE=zh_CN.UTF-8
LC_NUMERIC="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_COLLATE="zh_CN.UTF-8"
LC_MONETARY=zh_CN.UTF-8
LC_MESSAGES=zh_CN.UTF-8
LC_PAPER="zh_CN.UTF-8"
LC_NAME="zh_CN.UTF-8"
LC_ADDRESS="zh_CN.UTF-8"
LC_TELEPHONE="zh_CN.UTF-8"
LC_MEASUREMENT="zh_CN.UTF-8"
LC_IDENTIFICATION="zh_CN.UTF-8"
LC_ALL=
/etc/default/locale里的内容为:
LANG="zh_CN.UTF-8"
LANGUAGE="zh_CN:"
LC_CTYPE="zh_CN.UTF-8"
LC_MONETARY="zh_CN.UTF-8"
LC_MESSAGES="zh_CN.UTF-8"
Re: 终端中文显示乱码
发表于 : 2016-10-08 21:01
由 xhsh
当我把新用户下运行locale产生的结果替换掉/etc/default/locale里的内容,则又恢复正常了。但我还是想知道,我原来的账户下到底哪里做了错误设置。
Re: 终端中文显示乱码
发表于 : 2016-10-09 9:34
由 astolia
你自己不都贴出来了么
原来用户:LANG=zh_CN.GBK
新建用户:LANG=zh_CN.UTF-8
Re: 终端中文显示乱码
发表于 : 2016-10-09 10:35
由 xhsh
astolia 写了:你自己不都贴出来了么
原来用户:LANG=zh_CN.GBK
新建用户:LANG=zh_CN.UTF-8
是的,我的意思是,我不知道原来用户的设置“LANG=zh_CN.GBK”是在哪里设置的,或者是在哪个文件中设置的。
Re: 终端中文显示乱码
发表于 : 2016-10-09 16:01
由 poloshiao
我的意思是,我不知道原来用户的设置“LANG=zh_CN.GBK”是在哪里设置的,或者是在哪个文件中设置的。
1. locale 環境變數 後面讀取的變數值 會覆蓋掉 前面讀取的變數值
通常 /etc/default/locale 是第一個讀取的變數值
当我把新用户下运行locale产生的结果替换掉/etc/default/locale里的内容,则又恢复正常了
2. 猜測 除了 /etc/default/locale
應該沒有其它 locale 環境變數設定檔 含有 “LANG=zh_CN.GBK”
3. /etc/default/locale 通常是 安裝時 預設 跟你安裝選擇的 語言一致 應該是 LANG=zh_CN.UTIF-8
3-1. Ubuntu (或說 Linux) 的套件 應該預設都是 LANG=zh_CN.UTIF-8
意思是 從 Ubuntu 套件庫 安裝 套件 應該不會改變 LANG=zh_CN.UTIF-8 為 LANG=zh_CN.GBK
3-2. 想想 你何時安裝過 LANG=zh_CN.GBK 語言編碼的程式套件 (例如 安裝 Wine) 或 手動去更改過 /etc/default/locale
4. 進一步 參閱
https://help.ubuntu.com/community/EnvironmentVariables
Environment Variables
使用 LANG 關鍵字 搜尋