GEDIT復製WIN7的TXT檔案打開後變亂碼 [論壇 - Ubuntu基本設定]


正在瀏覽:   1 名遊客


 到底部   前一個主題   下一個主題  [無發表權] 請登錄或者註冊



GEDIT復製WIN7的TXT檔案打開後變亂碼
會員三級
註冊日期:
2008/1/10 14:34
所屬群組:
已註冊使用者
等級: 11
HP : 0 / 263
MP : 52 / 7035
EXP: 54
離線
在16.04時
把WIN7的TXT檔案復製來
用GEDIT打開後變亂碼
請教先進
GEDIT要作什麽設定呢?

2016/8/6 12:45
應用擴展 工具箱
回覆: GEDIT復製WIN7的TXT檔案打開後變亂碼
會員五級
註冊日期:
2012/4/22 10:50
所屬群組:
已註冊使用者
等級: 30
HP : 147 / 737
MP : 410 / 10455
EXP: 50
離線
老芋薯 寫到:
在16.04時
把WIN7的TXT檔案復製來
用GEDIT打開後變亂碼
請教先進
GEDIT要作什麽設定呢?


參考「這篇」提到的方法嘗試看看 (PS: 剛發現那篇是您之前問的,再次複習, 16.04 請參考下面的回覆#3)。

文件編碼的一些案例,我有紀錄在「這個索引」。

「gsettings」的使用案例,則是紀錄在這個「索引」下方。


另外若真的還是不行,可以嘗試使用「kate」來開,不用做什麼設定,
不過安裝「kate」套件,會額外安裝一些套件,請自行斟酌是否安裝,
我個人雖然使用「Xubuntu」,不過我還是會安裝「KDE」的一些軟體來使用。


剛又測試了一下,「Xubuntu 16.04」預設的編輯器「mousepad」,
打開「非UTF-8」編碼的檔案,會出現一個提示訊息,讓你選擇其他的編碼,
我測試的時候,「mousepad」的版本是「Mousepad 0.4.0」。

以上參考


2016/8/6 14:12
應用擴展 工具箱
回覆: GEDIT復製WIN7的TXT檔案打開後變亂碼
會員五級
註冊日期:
2012/4/22 10:50
所屬群組:
已註冊使用者
等級: 30
HP : 147 / 737
MP : 410 / 10455
EXP: 50
離線
剛突然想到,指令應該要調整了

執行


$ gsettings list-recursively | grep edit | grep encodings



會看到


org.gnome.gedit.preferences.encodings candidate-encodings ['UTF-8', 'BIG5', 'BIG5-HKSCS', 'EUC-TW', 'GB18030', 'GB2312', 'GBK', 'CURRENT', 'ISO-8859-15', 'UTF-16']




主要是「candidate-encodings」這裡要調整,以前是「auto-detected」。
我在回覆這篇之前有設定過,所以上面的值是被我設定過後的結果。

所以在「16.04」的指令要調整成下面的指令 (主要只要執行這個指令就行了)


$ gsettings set org.gnome.gedit.preferences.encodings candidate-encodings "['UTF-8', 'BIG5', 'BIG5-HKSCS', 'EUC-TW', 'GB18030', 'GB2312', 'GBK', 'CURRENT', 'ISO-8859-15', 'UTF-16']"




若要還原預設值,執行下面的指令


$ gsettings reset org.gnome.gedit.preferences.encodings candidate-encodings




執行


$ gsettings list-recursively | grep org.gnome.gedit.preferences.encodings



就會看到


org.gnome.gedit.preferences.encodings candidate-encodings ['']




以上測試環境

執行


$ gedit --version



顯示


gedit - Version 3.18.3


2016/8/6 14:40
應用擴展 工具箱
回覆: GEDIT復製WIN7的TXT檔案打開後變亂碼
會員五級
註冊日期:
2012/4/22 10:50
所屬群組:
已註冊使用者
等級: 30
HP : 147 / 737
MP : 410 / 10455
EXP: 50
離線
以下額外一提,對「gsettings」有想進一步研究,再去深究吧,

我之前的探索過程,分別紀錄在「這個索引」下面列的那幾篇,
不過那寫的有點亂就是了。

透過這個案例,簡單提,讓您有個起點開始去探索。


通常您可以到「/usr/share/glib-2.0/schemas/」找到相關的「gschemas.xml」。

執行


$ ls /usr/share/glib-2.0/schemas/ | grep gedit



顯示


org.gnome.gedit.enums.xml
org.gnome.gedit.gschema.xml
org.gnome.gedit.plugins.drawspaces.gschema.xml
org.gnome.gedit.plugins.externaltools.gschema.xml
org.gnome.gedit.plugins.filebrowser.enums.xml
org.gnome.gedit.plugins.filebrowser.gschema.xml
org.gnome.gedit.plugins.latex.gschema.xml
org.gnome.gedit.plugins.pythonconsole.gschema.xml
org.gnome.gedit.plugins.sourcecodebrowser.gschema.xml
org.gnome.gedit.plugins.terminal.gschema.xml
org.gnome.gedit.plugins.time.enums.xml
org.gnome.gedit.plugins.time.gschema.xml
org.gnome.gedit.plugins.wordcompletion.gschema.xml



或是從套件的角度,也可以執行


$ dpkg -L gedit-common | grep gschema.xml



可以看到


/usr/share/glib-2.0/schemas/org.gnome.gedit.plugins.time.gschema.xml
/usr/share/glib-2.0/schemas/org.gnome.gedit.plugins.externaltools.gschema.xml
/usr/share/glib-2.0/schemas/org.gnome.gedit.gschema.xml
/usr/share/glib-2.0/schemas/org.gnome.gedit.plugins.filebrowser.gschema.xml
/usr/share/glib-2.0/schemas/org.gnome.gedit.plugins.pythonconsole.gschema.xml




然後跟上面討論相關的是「/usr/share/glib-2.0/schemas/org.gnome.gedit.gschema.xml」這個檔
一般的修改,請勿直接修改這個檔,因為這個檔是紀錄「schema」,也就是定義這個欄位和預設值。
請透過「gsettings」來改值。

所以可以從這個檔,找到下面這一段定義,這也是你使用「gsettings reset」會回復到預設值的原因。


<key name="candidate-encodings" type="as">
<default>['']</default>
<summary>Candidate Encodings</summary>
<description>List of candidate encodings shown in the Character Encoding menu in the open/save file chooser.
"CURRENT" represents the current locale encoding. Only recognized encodings are used.
The default value is the empty list, in which case gedit will choose good defaults depending on the country and language.</description>
</key>




「gsettings」目前「storage backend」是使用「dconf」。
所以當你有改過的值,則是會紀錄在「dconf」。

來做個小實驗

================================================================================

若您執行了


$ gsettings set org.gnome.gedit.preferences.encodings candidate-encodings "['UTF-8', 'BIG5', 'BIG5-HKSCS', 'EUC-TW', 'GB18030', 'GB2312', 'GBK', 'CURRENT', 'ISO-8859-15', 'UTF-16']"




然後再執行


$ dconf dump / | grep candidate-encodings



顯示


candidate-encodings=['UTF-8', 'BIG5', 'BIG5-HKSCS', 'EUC-TW', 'GB18030', 'GB2312', 'GBK', 'CURRENT', 'ISO-8859-15', 'UTF-16']



================================================================================

然後再執行下面指令,還原預設值


$ gsettings reset org.gnome.gedit.preferences.encodings candidate-encodings




再執行下面的指令觀看「dconf」那的值


$ dconf dump / | grep candidate-encodings



跳到另一個命令提示字元,沒有任何顯示,也就是沒有找到資料。

================================================================================

以上的一些說法,是之前反覆測試,我揣測「gsettings」的行為模型,我還沒去深究程式碼的實做。

提供出來當參考,供有興趣深入探究的人,可以有個入門概念。




================================================================================

## 相關指令

* dconf
* dconf-editor
* gsettings
* glib-compile-schemas

## 相關套件

* dconf-cli
* dconf-editor
* libglib2.0-bin
* libglib2.0-0

2016/8/6 16:02
應用擴展 工具箱
回覆: GEDIT復製WIN7的TXT檔案打開後變亂碼
會員三級
註冊日期:
2011/4/21 21:10
所屬群組:
已註冊使用者
等級: 11
HP : 0 / 268
MP : 53 / 4595
EXP: 74
離線
我是都用madedit 來開,沒有亂碼的問題。
請依照您的系統下載對應版本~~
https://sourceforge.net/projects/madedit/files/MadEdit/MadEdit-0.2.9/

2016/8/8 17:24
應用擴展 工具箱
回覆: GEDIT復製WIN7的TXT檔案打開後變亂碼
會員四級
註冊日期:
2015/9/29 21:19
所屬群組:
已註冊使用者
等級: 16
HP : 76 / 380
MP : 100 / 1571
EXP: 22
離線
老芋薯 寫到:
在16.04時
把WIN7的TXT檔案復製來
用GEDIT打開後變亂碼
請教先進
GEDIT要作什麽設定呢?


Linux 安裝繁體中文時 應該是預設 UTF-8 編碼
windows 是 big5 編碼 (ANSI)

如果開出來是亂碼 你也可以試試 打開firefox, 把txt檔拖到瀏覽器內
把內容複製下來重新貼上保存就可以了.

2016/8/8 19:57
應用擴展 工具箱
回覆: GEDIT復製WIN7的TXT檔案打開後變亂碼
會員三級
註冊日期:
2008/1/10 14:34
所屬群組:
已註冊使用者
等級: 11
HP : 0 / 263
MP : 52 / 7035
EXP: 54
離線
感謝 姜至奐 兄
這招最快

至於samwhelp的回文
正花時間研習中

中風後腦細胞好像比較少了

2016/8/14 7:39
應用擴展 工具箱
回覆: GEDIT復製WIN7的TXT檔案打開後變亂碼
會員四級
註冊日期:
2012/2/12 17:11
所屬群組:
已註冊使用者
等級: 18
HP : 0 / 444
MP : 135 / 6543
EXP: 77
離線
這就是leafpad這部份好過gedit的原因 會自動偵測編碼 但leafpad終究功能不多...

2016/8/14 13:09
應用擴展 工具箱
回覆: GEDIT復製WIN7的TXT檔案打開後變亂碼
會員一級
註冊日期:
2016/1/23 22:02
所屬群組:
已註冊使用者
等級: 3
HP : 0 / 52
MP : 6 / 167
EXP: 9
離線
要轉碼 ...
自己看看《鳥哥》的VIM部分

1/11 21:38:33
應用擴展 工具箱


 [無發表權] 請登錄或者註冊


可以查看帖子.
不可發帖.
不可回覆.
不可編輯自己的帖子.
不可刪除自己的帖子.
不可發起投票調查.
不可在投票調查中投票.
不可上傳附件.
不可不經審核直接發帖.