[Linux] 解決終端顯示亂碼問題

【背景】vim

公司弄了兩臺新的虛擬機,用來將原先都部署在一臺機器上的JIRA, Fisheye, Confluence遷移到這兩臺機器上,使用SecureCRT進行登陸,使用相關命令時,一臺出現亂碼,另一臺正常顯示,使用vim時,也是同樣,因此來總結總結亂碼問題的解決方法。bash

【解決】服務器

1. 兩臺相關截圖運維

第一臺 第二臺

2. 在網上找到方法說是須要修改/etc/sysconfig/i18n,比較兩臺機器上的這個文件內容,發現亂碼機器爲空,非亂碼機器爲以下:工具

#LANG="zh_CN.UTF-8"
LANG="zh_CN.GB18030"
LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"
SUPPORTED="zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en"
SYSFONT="latarcyrheb-sun16"

3. 按照網上查到的相關資料代表確實是須要修改此文件,修改之編碼

vim /etc/sysconfig/i18n

  修改以後,發現無法更新,我使用的sysadmin登陸的,查看文件權限:spa

  這樣種辦法只能找到root賬號,再進行更新,咱們這種賬號不可能給出來,只能找運維部門解決。3d

4. 繼續搜索,有貼子裏提到這麼一句話「遠程工具與服務器的字符集是否同樣」,想着我使用的是SecureCRT進行的登陸,因此嘗試着修改一下工具的字符集,找到以下設置:code

  

  修改這裏的字符編碼,使用locale查看本機字符編碼以下:blog

  

  修改終端字符編碼爲UTF-8,最終編碼顯示正常,和另外一臺機器同樣

總結

再次進行資料蒐集以後,總結亂碼以下解決辦法:

0. 查看遠程工具與服務器的字符集是否同樣

1. 修改/etc/sysconfig/i18n:

#LANG="zh_CN.UTF-8"
LANG="zh_CN.GB18030"
LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"
SUPPORTED="zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en"
SYSFONT="latarcyrheb-sun16"

2. 修改~/.bash_profile文件,並執行source ~/.bash_profile(在不重啓系統的狀況下使新環境變量生效):

LANG="zh_CN.GB18030"

3. 在bash環境下直接執行:

export LANG=zh_CN.GB18030
相關文章
相關標籤/搜索