文件編碼
相關討論
- [分享] Geany 的 使用心得
- 回覆: [請教]搜尋多個檔案及內容,並可開啟這個檔案的軟體以利編修
- 回覆: 在wine中執行ConvertZ會卡住
- 回覆: pluma顯示亂碼
- 回覆: gedit 亂碼問題 (14.04)
- 回覆: GEDIT復製WIN7的TXT檔案打開後變亂碼 (16.04)
- #4 回覆: *.java 文字檔在Windows10正常,在 Ubuntu1604LTS 卻亂碼,不能執行???
相關討論 (檔案名稱)
案例討論
================================================================================
檔案內容 編碼轉換 (CLI)
Manpage
Package
- $ libc-bin
PHP
- iconv
-
function iconv
- Multibyte String
- funciton mb_detect_encoding
- funciton mb_convert_encoding
- function mb_detect_order
案例:
- #8 回覆: [分享] 解壓縮zip檔,產生亂碼,如何解決的心得
- file-phpunzip-php <– 14.04 適用 (php5)
- php-archive (中文說明) <– 14.06 適用 (php7)
================================================================================
偵測檔案內容編碼 (CLI)
Manpage
Package
相關討論
================================================================================
檔案名稱 編碼轉換
Manpage
Package
相關討論
================================================================================
繁簡轉換
Manpage
Package
================================================================================
GUI 文字編輯器
Manpage
Package
更多文字編輯器請參考「這篇」的紀錄
================================================================================
Charset
Manpage
$ dpkg -L manpages | grep man7 | sort
以下可以執行上面指令找到。
-
$ man charsets
- $ man utf-8
-
$ man utf8 <–見下面「註1」
- $ man ascii
- $ man cp1251
- $ man cp1252
-
$ man armscii-8
- $ man iso_8859-1
- $ man iso_8859-2
- $ man iso_8859-3
- $ man iso_8859-4
- $ man iso_8859-5
- $ man iso_8859-6
- $ man iso_8859-7
- $ man iso_8859-8
- $ man iso_8859-9
- $ man iso_8859-10
- $ man iso_8859-11
- $ man iso_8859-13
- $ man iso_8859-14
- $ man iso_8859-15
-
$ man iso_8859-16
- $ man latin1 <–見下面「註2」
- $ man latin2
- $ man latin3
- $ man latin4
- $ man latin5
- $ man latin6
- $ man latin7
- $ man latin8
- $ man latin9
-
$ man latin10
- $ man koi8-r
- $ man koi8-u
================================================================================
註1:
執行
$ ls /usr/share/man/man7/utf8.7.gz -l
顯示
lrwxrwxrwx 1 root root 10 Apr 24 2016 /usr/share/man/man7/utf8.7.gz -> utf-8.7.gz
執行
$ stat /usr/share/man/man7/utf8.7.gz
顯示
File: '/usr/share/man/man7/utf8.7.gz' -> 'utf-8.7.gz'
Size: 10 Blocks: 0 IO Block: 4096 symbolic link
Device: 822h/2082d Inode: 5646436 Links: 1
Access: (0777/lrwxrwxrwx) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2016-12-22 02:33:49.554631690 +0800
Modify: 2016-04-24 00:17:57.399037799 +0800
Change: 2016-04-24 00:17:57.399037799 +0800
Birth: -
================================================================================
註2
執行
$ ls /usr/share/man/man7/latin1.7.gz -l
顯示
lrwxrwxrwx 1 root root 15 Apr 24 2016 /usr/share/man/man7/latin1.7.gz -> iso_8859-1.7.gz
================================================================================
Charmap
執行
$ whatis charmap
顯示
charmap (1) - Unicode character picker and font browser
charmap (5) - character set description file
Manpage
- man 5 charmap
Package
Path
- /usr/share/i18n/charmaps
執行
$ ls /usr/share/i18n/charmaps/ -1
執行
$ less /usr/share/i18n/charmaps/BIG5.gz
執行
$ less /usr/share/i18n/charmaps/UTF-8.gz
執行
$ less /usr/share/i18n/charmaps/ARMSCII-8.gz
執行
$ less /usr/share/i18n/charmaps/ISO-8859-1.gz
註: 「less」可以改成「view」或「vim」或「mcedit」來觀看。
================================================================================
Locale
Reference
- Ubuntu Community Help Wiki / Locale
- Debian Wiki / Locale
- The Debian Administrator’s Handbook / 8.1. Configuring the System for Another Language (中文版)
註: 「The Debian Administrator’s Handbook」有紀錄在這篇「討論」。
Manpage
執行
$ whatis locale
顯示
locale (7) - description of multilanguage support
locale (1) - get locale-specific information
locale (5) - describes a locale definition file
locale (1posix) - get locale-specific information
或是可以從網頁可以查詢到。
$ dpkg -L manpages | grep '/man/man.*/' | grep locale
顯示
/usr/share/man/man1/locale.1.gz
/usr/share/man/man1/localedef.1.gz
/usr/share/man/man5/locale.5.gz
/usr/share/man/man7/locale.7.gz
執行
$ dpkg -L locales | grep '/man/man.*/'
顯示
/usr/share/man/man8/update-locale.8.gz
/usr/share/man/man8/validlocale.8.gz
/usr/share/man/man8/locale-gen.8.gz
/usr/share/man/man5/locale.gen.5.gz
註: 這個技巧可以參考「如何查詢某個套件有哪些使用手冊」這篇的說明。
- $ man 1 locale
- $ man 1posix locale
-
$ man 5 locale
- $ man locale-gen
-
$ man locale.gen
- $ man validlocale
- $ man update-locale
Package
Path
- /etc/default/locale
- /usr/share/i18n/SUPPORTED
- /usr/share/i18n/locales
- /usr/lib/locale
- /etc/locale.gen
執行
$ cat /usr/share/i18n/SUPPORTED | grep zh_TW
或是執行
$ grep zh_TW /usr/share/i18n/SUPPORTED
顯示
lzh_TW UTF-8
zh_TW.UTF-8 UTF-8
zh_TW.EUC-TW EUC-TW
zh_TW BIG5
執行
$ ls /usr/share/i18n/locales/ | grep zh
顯示
lzh_TW
zh_CN
zh_HK
zh_SG
zh_TW
執行下面指令,觀看「/usr/share/i18n/locales/zh_TW」的內容
$ less /usr/share/i18n/locales/zh_TW
註: 「less」可以改成「more」或「view」或「vim」或「mcedit」來觀看。
執行
$ locale -a
執行
$ cat /usr/share/i18n/SUPPORTED | sort
執行
$ cat /usr/share/i18n/SUPPORTED | sort
執行
$ ls /usr/share/i18n/locales/ -1 | sort
執行
$ ls /usr/lib/locale/ -1 | sort
執行
$ validlocale C
顯示
locale 'C' valid and available
執行
$ validlocale zh_TW
顯示
locale 'zh_TW' valid and available
執行
$ validlocale zh_TW
顯示
locale 'zh_TW' valid and available
執行
$ validlocale zh_TW.UTF-8
顯示
locale 'zh_TW.UTF-8' valid and available
執行
$ validlocale zh_TW.UTF-8
顯示
locale 'zh_TW.UTF-8' valid and available
執行
$ validlocale zh_TW.BIG5
顯示
locale 'zh_TW.BIG5' valid and available
執行
$ validlocale lzh_TW
顯示
locale 'lzh_TW' valid and available
註: 「lzh_TW」請參考「這篇」和「這篇」,關鍵字是「Literary Chinese」, 還有參考「維基百科 / 文言文」或「Wikipedia / Classical Chinese」。
執行下面指令,觀看「/etc/default/locale」的內容
$ less /etc/default/locale
顯示
# File generated by update-locale
LANG="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
執行
$ locale
顯示
LANG=en_US.UTF-8
LANGUAGE=en_US
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC=en_US.UTF-8
LC_TIME=en_US.UTF-8
LC_COLLATE="en_US.UTF-8"
LC_MONETARY=en_US.UTF-8
LC_MESSAGES="en_US.UTF-8"
LC_PAPER=en_US.UTF-8
LC_NAME=en_US.UTF-8
LC_ADDRESS=en_US.UTF-8
LC_TELEPHONE=en_US.UTF-8
LC_MEASUREMENT=en_US.UTF-8
LC_IDENTIFICATION=en_US.UTF-8
LC_ALL=
執行
$ sudo update-locale LC_CTYPE=zh_TW.UTF-8 LC_NAME
顯示
$ less /etc/default/locale
執行下面指令,觀看「/etc/default/locale」的內容
$ less /etc/default/locale
顯示
# File generated by update-locale
LANG="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
#LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_CTYPE=zh_TW.UTF-8
可以看到「LC_NAME」那一行被註解了(在前面加上#),然後「LC_CTYPE」被修改了。
再度執行
$ locale
顯示
LANG=en_US.UTF-8
LANGUAGE=en_US
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC=en_US.UTF-8
LC_TIME=en_US.UTF-8
LC_COLLATE="en_US.UTF-8"
LC_MONETARY=en_US.UTF-8
LC_MESSAGES="en_US.UTF-8"
LC_PAPER=en_US.UTF-8
LC_NAME=en_US.UTF-8
LC_ADDRESS=en_US.UTF-8
LC_TELEPHONE=en_US.UTF-8
LC_MEASUREMENT=en_US.UTF-8
LC_IDENTIFICATION=en_US.UTF-8
LC_ALL=
得到的顯示還是跟原來的一樣,
所以「update-locale」只有更改「/etc/default/locale」這個檔案。
locale 相關討論案例
- #5 回覆: debian 8.2 + 預設的gnome 3.14.1 家目錄下預設資料夾名稱英文切回中文的問題
- #14 回覆: 為什麼要這樣翻譯
- #8 回覆: 安裝 ubuntu server 1604時發生這樣的問題
- #10 回覆: 安裝 ubuntu server 1604時發生這樣的問題 (有關「lzh_TW」的疑問)
- #11 回覆: 安裝 ubuntu server 1604時發生這樣的問題 (有關「lzh」的探索)
- #6 回覆: 登入畫面 輸入密碼處 中文部分出現方格
- #10 回覆: MadBox 14.04中文安裝
- #6 回覆: [分享] 青空文庫電子書閱覽器aobook
- #19 回覆: [求助] 新手詢問:如何安裝香港補字元集?
- #3 回覆: [求救]我的conky無法顯示中文!!
- #8 回覆: Kubuntu 15.04 (Plasma 5.0) Fcitx、gcin輸入法無法打中文 (有關「check-language-support」的探索)
- #4 回覆: 手機照片無法預覽 (有關「kde-l10n-zhtw」這個套件和「dolphin」的使用界面中文化)
================================================================================
相關的索引
一些「索引」放在「Ubuntu 文件資源」,紀錄一些「討論案例」和「參考連結」。
我也有將這些「索引的連結」整理,列在這裡。