1. 程式人生 > >Ubuntu16.04中文亂碼

Ubuntu16.04中文亂碼

垃圾問題。。 本來想把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,重啟之後還是不行。。。

參考