Linux下打開windows下的txt文件中文顯示亂碼問題

緣由:Linux顯示在Windows編輯過的中文就會顯示亂碼是因爲兩個操做系統使用的編碼不一樣所致。Linux下使用的編碼是utf8,而Windows使用的是gb18030。所以,解決Linux打開txt文件中文亂碼可有以下方法。linux

方法一:使gedit支持gb18030格式的編碼windows

直接雙擊被打開的文件默認用gedit打開,這種方式不行。可行的方式 是先打開gedit ,再選擇軟件左上角打開出現亂碼的文件。gedit就會出現以下第一個圖的提示,在黃色區域左下角有個當前的編碼下拉框,點開能夠本身選擇想要使用的編碼,若是已存在的編碼方式不能打開文件,能夠選擇最後一項add。app

而後就出現下面這張圖,在備選編碼中選擇文件的編碼格式,而後點擊左下角的+號,加入到右欄中以供選擇,而後點擊應用,就能夠在下拉框選擇該文件的編碼了。通常狀況下windows的編碼是gb18030,但也可能你打開的不是這個格式,怎麼知道文件是什麼編碼格式呢?能夠在命令行執行"chardet3 test.txt ",test.txt是將要被打開的文件,返回結果包含文件編碼格式內容。  編碼

 正常了。操作系統

 

備選方法:.net

gedit 使用一個編碼匹配列表,只有在這個列表中的編碼纔會進行匹配,不在這個列表中的編碼將顯示爲亂碼。您要作的就是將 GB18030 加入這個匹配列表。命令行

  • 命令行方式,適用於全部 Ubuntu 用戶。

複製如下命令到終端中,而後回車便可:3d

gconftool-2 --set --type=list --list-type=string /apps/gedit-2/preferences/encodings/auto_detected "[UTF-8,CURRENT,GB18030,BIG5-HKSCS,UTF-16]"  blog

有可能你的系統已經沒有/apps/gedit-2/preferences/encodings這個節點了。

gedit升級版本以後,節點的位置可能改在了org/gnome/gedit/preferences/encoding。這裏根據本身狀況而定。下面圖形化方式也同樣。
 get

  • 圖形化方式,適用於 Ubuntu 用戶,而不適用於 KUbuntu/XUbuntu 用戶。

 打開Terminal輸入命令「gconf-editor」,(若是沒有安裝的話,輸入命令安裝:sudo apt-get install gconf-editor ),進入環境配置,依次展開「/apps/gedit-2/preferences/encodings/」,而後點擊右上方的「auto_detected」,在彈出的頁面選擇添加gb18030而且向上置頂。設置完成之後全部打開的txt的文件中文顯示都不會亂碼了。如圖所示:

參考:https://blog.csdn.net/samantha_sun/article/details/6347645  

 

方法二:將文件編碼方式改成linux支持的格式utf8

把gb18030編碼的original.txt轉換成utf8的target.txt。這樣target.txt就成爲Linux支持的編碼。若是你並非想要支持那種編碼,只是臨時使用,則能夠將文件編碼格式轉換成linux系統支持的格式,以gb18030轉換成utf8爲例:

  打開Terminal,進入到txt文件所在目錄,輸入命令:

$ iconv -f gb18030 -t utf8 original.txt -o target.txt

相關文章
相關標籤/搜索