Ubuntu16.04中文亂碼
阿新 • • 發佈:2018-12-19
垃圾問題。。 本來想把gedit的中文亂碼解決一下,但是我自己打中文是沒問題的,開啟從windows上傳過來的檔案就有問題。。。。搞了好久還是沒解決,只把vim配好了,雖然有點小問題,但是總歸還能看了。。。。 補充: 原來Windows下中文的預設編碼是GB2312,Linux下預設編碼是utf-8。
enca工具可用於檢測檔案內碼(前提是系統環境支援,如,環境不支援BIG5,是無法檢測的,這個暈了我許久)
安裝:apt install enca
使用方法:
enca -L zh_CN +檢視編碼的檔名 enca -L zh_CN -x UTF-8 +預轉換為UTF-8的檔名(此舉將覆蓋原始檔) enca -L zh_CN -x UTF-8 < +預轉換為UTF-8的檔名 > +另存為地址
1. 系統級
沒有的這個檔案,就建立一個。
sudo vim /var/lib/locales/supported.d/local
#新增下面的中文字符集
zh_CN.GBK GBK
zh_CN.GB2312 GB2312
zh_CN.GB18030 GB18030
讓他生效:
sudo dpkg-reconfigure locales
輸入這個命令後,一直按回車就好了。
2. vim
雖然Ubuntu已經支援GBK了,但預設的輸入/顯示方式仍然是UTF-8,要想改變就需要我們逐一去設定。VIM首當其衝。
開啟vim的配置檔案,位置在/etc/vim/vimrc
在其中加入
set fileencodings=utf-8,gb2312,gbk,gb18030 set termencoding=utf-8 set encoding=gbk
讓其生效:
source /etc/vim/vimrc
我執行了這個命令後,貌似沒成功,如下:
但是用vim開啟從windows上的檔案之後,中文亂碼就解決了
但是一個比較蛋疼的地方就是,他會把回車字元變成^M
,如圖;
後
gedit
網上有很多。。什麼命令之類的但是對我來說都沒用。我把GB2312新增到 keys裡面uft-8,重啟之後還是不行。。。