首頁 >運維 >CentOS >centos7中文亂碼問題怎麼解決

centos7中文亂碼問題怎麼解決

hzc
hzc原創
2020-06-17 10:40:356202瀏覽

centos7中文亂碼問題怎麼解決查看是否安裝中文套件

可以使用下面的命名來檢視系統是否安裝了中文安裝套件。

locale -a |grep "zh_CN"

沒有輸出,說明沒有安裝,輸入下面的命令安裝:

yum groupinstall "fonts" -y

安裝完成,查看安了哪些中文語言包

[root@iz2ze6adlpez0gy7j13vrmz /]# locale -a | grep "zh_CN"
zh_CN
zh_CN.gb18030
zh_CN.gb2312
zh_CN.gbk
zh_CN.utf8

說明系統已安裝中文語言包,無需再安裝。重要提示,如果按照下面的步驟你的系統仍然無法使用中文,那麼請一個一個嘗試上面的編碼方式。例如把LANG="zh_CN"修改為LANG="zh_CN.gb18030"。

2 修改設定檔

在修改設定檔之前,我們先看看目前系統語言環境:

# echo $LANG
en_US.UTF-8

# locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=

雖然安裝了中文語言包但本機的語言環境並不是中文,需要修改locale.conf設定檔

# vim /etc/locale.conf
LANG="zh_CN"
# source   /etc/locale.conf
vim /etc/locale.conf 进入编辑页面,输入i开始编辑,编辑完成输入esc到底行模式,然后输入:wq,保存并退出

#也可以使用指令修改locale.conf設定檔:

#  localectl set-locale LANG=zh_CN

之後查看目前語言環境:

# echo $LANG
zh_CN
# locale
LANG=zh_CN
LC_CTYPE="zh_CN"
LC_NUMERIC="zh_CN"
LC_TIME="zh_CN"
LC_COLLATE="zh_CN"
LC_MONETARY="zh_CN"
LC_MESSAGES="zh_CN"
LC_PAPER="zh_CN"
LC_NAME="zh_CN"
LC_ADDRESS="zh_CN"
LC_TELEPHONE="zh_CN"
LC_MEASUREMENT="zh_CN"
LC_IDENTIFICATION="zh_CN"
LC_ALL=

3. 驗證是否成功

[root@node2 ~]# date
2017年 10月 16日 星期一 16:30:24 CST

4.指令補充解釋

locale -a |grep "zh_CN" :列出所有可用的公共語言環境的名稱,然後篩選中文

##locale -a :列出所有可用的公共語言環境的名稱.

從中如果可以看到以下幾項,也說明系統已經安裝了中文語言套件。無需再安裝,那這幾項代表什麼意思呢?

{語言代號}_{國家代號}.{字元集}

zh是中文的代號、CN是中國的代號、gb18030,gb2312,utf8是語言字符集

那麼每一項可以通俗理解為  “你是說中文的,你在中國,語言字元集是gb18030/gb2312/utf8”

如果沒有發現以上幾項,則手動安裝中文語言包

# # yum install kde -l10n-Chinese            (大概11M)

locale : 查看目前系統語言環境

centos7中文亂碼問題怎麼解決

每項的意思分別為:

LANG

:目前系統的語言

LC_CTYPE

:語言符號及其分類

LC_NUMERIC

:數字

#LC_COLLATE

:比較與排序習慣

LC_TIME

:時間顯示格式

LC_MONETARY

:貨幣單位

LC_MESSAGES

:訊息主要是提示訊息,錯誤訊息, 狀態訊息, 標題, 標籤, 按鈕和選單等##LC_NAME

:姓名書寫方式

LC_ADDRESS

:地址書寫方式

LC_TELEPHONE

:電話號碼書寫方式

LC_MEASUREMENT

:度量衡表達方式

LC_PAPER

:預設紙張尺寸大小

LC_IDENTIFICATION

:locale自身包含資訊的概述

##LC_ALL:優先級最高變量,若設定了此變量,所有LC_* 和LANG變量會強制跟隨它的值

#我們看到雖然安裝了中文語言包但本機的語言環境並不是中文 重啟系統

# reboot

5.遠端工具SSH Secure 亂碼問題的解決


使用遠端工具進行連線時,如果linux 有中文檔案或目錄,顯示時會出現亂碼,原因
是linux 編碼是UTF-8,而遠端工具預設是目前系統本地編碼即GBK。所以解決方案是統

一兩者編碼就 OK 了,但是該 SSH Secure 工具不能設定編碼,所以透過修改 linux 的系

統編碼的方式進行統一編碼。 

第一步:檢視目前系統的語言環境。
這裡因為之前已經修改變成gbk的編碼了。

第二步:修改設定檔locale.conf

# vim /etc/locale.conf
輸入i進入編輯模式,編輯完成按ESC進入底行模式。然後輸入:wq退出並儲存。

执行下面的命令,让修改生效。

# source /etc/locale.conf

输入date验证。如果还有问题,也可以reboot重启一下。

推荐教程: 《CentOS教程

以上是centos7中文亂碼問題怎麼解決的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn