我的測試環境是Fedora 16
我發現,下面這個原Fedora 13的亂碼bug,在Fedora 16上仍然存在,但是gedit2變成了gedit3。原報告者上傳上的是一篇中文的小說。
https://bugzilla.redhat.com/show_bug.cgi?id=576047
#1 PASS
LANG=en_US.utf8 gedit --encoding gbk file.txt
#2 FAIL
LANG=zh_CN.gbk gedit file.txt
LANG=zh_CN.gb18030 gedit file.txt
#3 FAIL
LANG=zh_CN.utf8 gedit file.txt
而我自己搞一個的簡單的test case
http://dl.dropbox.com/u/45139465/test_gbk.txt
#2可以通過了,#3依然失敗。
失敗的原因都是gedit選擇了錯誤的iso-8859-12編碼。
如果檢測順序是,如我在CentOS 5.5的gedit2上,是3個都可以通過的,包括更容易判斷錯誤的那個小說。
utf8
current
gbk/gb18030 (用戶自己配置,或者系統根據zh_CN自動產生)
iso-8859-12
但是gedit3,原來改gconf的地方消失了,不知道如何自己配置檢測順序,也不知道小說為什麽在#2會出錯。
我寫了一個簡單的幫助調試的gedit3插件,目前還沒有多少功能
https://github.com/maxiaojun/gedit3-encoding-helper
希望對解決亂碼有興趣的朋友,告訴我你系統上的測試情況,你的系統的有何自動/手動相關配置。我等下還可以測試一下LinuxdDeepin的情況怎麽,其他用GNOME3的發行版暫時沒有裝。