Ⅰ linux下中文顯示亂碼怎麼解決
linux下經常遇到的編碼問題如果你需要在Linux中操作windows下的文件,那麼你可能會經常遇到文件編碼轉換的問題。Windows中默認的文件格式是GBK(gb2312),而Linux一般都是UTF-8。
查看編碼的方法
方法一:file filename
方法二:在Vim中可以直接查看文件編碼
:set fileencoding
如果你只是想查看其它編碼格式的文件或者想解決用Vim查看文件亂碼的問題,那麼你可以在
~/.vimrc 文件中添加以下內容:
set encoding=utf-8 fileencodings=ucs-bom,utf-8,cp936
這樣,就可以讓vim自動識別文件編碼(可以自動識別UTF-8或者GBK編碼的文件),其實就是依照fileencodings提供的編碼列表嘗試,如果沒有找到合適的編碼,就用latin-1(ASCII)編碼打開
文件編碼轉換
多方法:
iconv 提供標準的程序和API來進行編碼轉換;
convert_encoding.py 基於Python的文本文件轉換工具;
decodeh.py 提供演算法和模塊來談測字元的編碼;
linux下文件編碼轉換:
方法一:
在Vim中直接進行轉換文件編碼,比如將一個文件轉換成utf-8格式
:set fileencoding=utf-8
或者
11)設置文件集合,即要對哪些文件進行操作,可以使用通配符,比如我通常是對 C/C++ 源程序進行編碼轉換
:args *.h *.cpp
2)給出要在每個文件上執行的命令,這里是轉換編碼:
:argdo set fenc=utf-8 | update
方法二:
iconv 轉換
5.案例:
假如說我們將windows下的一個UTF-8的文件傳到linux環境下,linux環境下的系統編碼是GB18030,我們cat的時候就會出現亂碼,這個時候就應該想到轉碼了,下面我們來進行試驗:
我們將windows下一個名為UTF-8.sh的文件傳到linux系統中,其中UTF-8.sh的內容如下:
我是中文編碼UTF-8模式~
而linux系統的系統語言設置為:
[root@sor-sys zy]# cat /etc/sysconfig/i18n
LANG=zh_CN.GB18030
SYSFONT="latarcyrheb-sun16"
這個時候查看一下文件的內容及編碼:
[root@sor-sys zy]# file UTF-8.sh
UTF-8.sh: UTF-8 Unicode text, with no line terminators
[root@sor-sys zy]# cat UTF-8.sh
鍩挎垜鏄?腑鏂囩紪鐮乁TF-8妯″紡~[root@sor-sys zy]#
[root@sor-sys zy]#
這個時候我們就需要轉換編碼了,記得使用iconv
[root@sor-sys zy]# iconv -f UTF-8 -t GB18030 UTF-8.sh -o GB18030.sh
[root@sor-sys zy]# cat GB18030.sh
??我是中文編碼UTF-8模式~[root@sor-sys zy]#
[root@sor-sys zy]# file GB18030.sh
GB18030.sh: Non-ISO extended-ASCII text, with no line terminators
[root@sor-sys zy]#
convmv就是更改文件名編碼方式的一個工具。
比如
sudo convmv -f gbk -t utf-8 -r –notest /home
就是將/home目錄下原來文件名是gbk編碼方式的全部改為utf-8格式的。這里 -f 後面為原來的編碼方式,-t 後面是要更改為的編碼方式, -r 表示這個目錄下面的所有文件, –notest 表示馬上執行,而不是僅僅測試而已。另外這命令好像要root才能執行,因此要加上 sudo。
Ⅱ 為什麼 linux 字元界面不能顯示中文
預設的字元控制台不支持中文,需要裝中文控制台,比如fbterm
簡單點就用SecureCRT、putty,遠程登錄到Linux,即可正常顯示中文
Ⅲ linux 命令模式下的中文顯示問題
至少我認為應該是zh_CN.UTF-8而不是zh_CN.utf8……
在執行的指令前面加一句:export
LANG_ALL=zh_CN.UTF-8試試。
------------------------------------------
你是想在gnome-console那個圖形界面的控制台下顯示中文,還是想在純控制台下顯示中文?Linux內核自帶的那個純控制台的話,無論如何設置LANG變數都不會顯示中文的。可以安裝一個zhcon軟體,然後輸入zhcon
--utf8就可以正常顯示中文了。
如果你是想在gnome下的那個圖形化的控制台里顯示中文,則最上面那個方法是可行的。比如想要以中文方式運行eva,則輸入:export
LANG_ALL=zh_CN.UTF-8;eva
Ⅳ linux伺服器不能顯示中文字元
也一定是linux的問題,你做個排查
首先判斷是否支持中文,使用echo $LANG 看下在線操作系統支持的編碼
看下返回,我的是 en_US.UTF-8 utf8的
找到xshell的菜單欄,file(文件)點擊,彈出對話框,在找當前會話Properties(屬性),找到
終端 裡面有個編碼,調整成和伺服器lang一樣的試試。
Ⅳ linux 無法顯示中文文件
如果你是指文檔亂碼
則
ALT+F2
gconf-editor
展開「/apps/gedit-2/preferences/encodings/」
編輯右側的「auto_detected」將「GB18030」添加到最頂上。以後文本編輯器就可以正常顯示中文了
如果是指在控制台下中文文件名亂碼,可以
sudo
apt-get
install
zhcon
運行
zhcon
--utf8
Ⅵ linux設置成中文後還是不能顯示中文。但是把這些亂碼復制到windows下又正常了。變成中文。
這是你的操作系統沒有安裝中文語言包造成的,正確方法如下:
1.安裝中文包:yum -y groupinstall chinese-support
2.修改字元編碼配置文件
vi /etc/sysconfig/i18n
LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"
SUPPORTED="zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en"
SYSFONT="lat0-sun16"
export LC_ALL="zh_CN.GB18030"
3.重新登錄系統。
Ⅶ linux顯示中文亂碼怎麼解決
Linux中文顯示不正常大多是終端字元集設置的不對,因為終端屏幕顯示信息是以設置的語言來顯示的,如果語言是英文或者其他編碼語言設置,顯示中文時就是亂碼。設置終端字元集需要設置LANG這個環境變數,設置方法是在終端輸入LANG=zh_CN.UTF-8,設置好LANG變數後,再在終端上用ls命令查看一下帶有中文的文件名應該就有效果了。
如果經過上面的設置後,用ls命令可以正常列出中文文件名了,那就最好將LANG=zh_CN.UTF-8這一行添加到~/.bashrc這個配置文件中,然後執行命令:source ~/.bashrc,使配置文件的設置馬上生效,這樣終端就被完美的設置成UTF-8中文編碼了。
Ⅷ Linux終端為什麼不能顯示中文
在.bash_profile裡面設置環境變數LANG=zh_CN.GBK,退出後再登錄進去就可以了
Ⅸ liunx問題 不顯示中文,設置了語言為中文了還是不行
Linux 下將默認語言改成中文
vi /etc/sysconfig/i18n
初始的時候文件如下所示,但是可能只有其中的一兩個;(注:修改文本用"i")
LANG="en_US.UTF-8"
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"
SYSFONTACM="utf8"
然後你需要做的就是找到LANG 和 SUPPORTED 這兩行,然後將以下內容對應著替換上。
LANG="en_US.UTF-8"
SUPPORTED="eu_ES.UTF-8:eu_ES:eu:zh_HK.UTF-8:zh_HK:zh:zh_CN.UTF-8:zh_CN:
zh:zh_SG.UTF-8:zh_SG:zh:zh_TW.UTF-8:zh_TW:zh:en_AU.UTF-8:en_AU:en:en_HK.
UTF-8:en_HK:en:en_US.UTF-8:en_US:en"
上面的是默認英文系統,支持中文簡體、繁體、英文的設置
下面是中文設置
LANG="zh_CN.GB18030"
LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"
SUPPORTED="zh_CN.GB18030:zh_CN:zh"
SYSFONT="lat0-sun16"
SYSFONTACM="8859-15"
Ⅹ Linux系統漢字無法正常顯示
方法一:插入安裝光碟,安裝漢字語言包,不過這個有點困難,因為你什麼都看不見
方法二:如果可以上網的話,裝一下漢字的語言包,打開終端,
>su
#yum install *chinese*
即可