1. 程式人生 > >Ubuntu 14.04 16.04 gedit 中文亂碼

Ubuntu 14.04 16.04 gedit 中文亂碼

亂碼原因【6】:

開啟部分Windows下的txt文字檔案的時候,中文顯示為亂碼。但是自己用Gedit編寫新檔案的時候,輸入的中文卻可以正常顯示,保 存後再退出也可以正常顯示。而且對於Windows下的文字檔案,也不是全部含有中文的都顯示為亂碼。

整理下思路,如果真的是中文無法正常顯示的問題,也就是字型設定問題,是不應該有檔案能夠正常顯示中文的,應該全部亂碼才對。而事實上並非如此,所以這個猜測可以排除。那麼,會不會是檔案編碼的問題?Linux下預設的編碼是UTF-8,而Windows下預設的編碼是GB2312/GBK。難道是 編碼問題引起的問題?切換到Windows系統下,輸入一段中文後,儲存為UTF-8的txt檔案,然後再另存同一個檔案為GB2312編碼格式。再次切 換到Ubuntu 14.04下,開啟這兩個檔案,果然GB2312編碼的檔案亂碼了。

NOTE【6】中的解決方法使用的gconf-editor在Ubuntu12.04後已沒有“/apps/gedit-2/”項。需要使用dconf-editor來修改。gnome2 的 “登錄檔編輯器” gconf-editor 正在被 dconf-editor 所取代,更多的隱藏設定也可以通過 dconf-editor 進行修改。

解決方法【7】:

1. 開啟終端,在其中輸入命令:

sudo dconf-editor

如果dconf-editor沒安裝,先使用sudo apt-get install dconf-editor 安裝。

2. 在新開的窗口裡,在左邊依次展開/org/gnome/gedit/perferences/encodings,修改其中的配置資訊,在auto-detected項的value中的'UTF-8'後面新增, 'GB18030',在shown-in-menu對應值的後面新增上, 'GB18030'(注意逗號後面有個空格)。關閉然後再次執行Gedit即可生效。

clip_image026

更新到16.04,gedit開啟中文時,依然存在亂碼的問題。ubuntu官方給出的解決方案是,gedit3.x以上版本的在命令終端輸入命令:
gsettings set org.gnome.gedit.preferences.encodings auto-detected “[‘GB18030’, ‘UTF-8’, ‘CURRENT’, ‘ISO-8859-15’, ‘UTF-16’]” 來解決。
但是輸入命令後提示無”auto-detected”鍵值。
這裡寫圖片描述
難道是ubuntu16.04把這個鍵值給改了?
只能用dconf-editor進行檢視一下。終端輸入dconf-editor命令,找到
這裡寫圖片描述
看來鍵值真的是更改了,可以直接在dconf-editor下把”candidate-encodings”的值更改為”[‘GB18030’, ‘UTF-8’, ‘CURRENT’, ‘ISO-8859-15’, ‘UTF-16’]”。
問題找到了,如果用命令進行更改的話,可以輸入命令
gsettings set org.gnome.gedit.preferences.encodings candidate-encodings “[‘GB18030’, ‘UTF-8’, ‘CURRENT’, ‘ISO-8859-15’, ‘UTF-16’]” 來解決。