我正在與Yocto合作爲ARM設備(i.MX 6Quad處理器)創建嵌入式Linux發行版。如何檢查區域設置是否爲UTF-8?
我已經被配置爲與所述可變所需的區域設置的列表:
IMAGE_LINGUAS = "de-de fr-fr en-gb en-gb.iso-8859-1 en-us en-us.iso-8859-1 zh-cn"
作爲結果我獲得,它包含以下文件夾中的文件系統:
[email protected]_icu:/usr/lib/locale# cd /usr/share/locale/
[email protected]_icu:/usr/share/locale# ls -la
total 0
drwxr-xr-x 6 root root 416 Nov 17 2016 .
drwxr-xr-x 30 root root 2056 Nov 17 2016 ..
drwxr-xr-x 4 root root 296 Nov 17 2016 de
drwxr-xr-x 3 root root 232 Nov 17 2016 en_GB
drwxr-xr-x 4 root root 296 Nov 17 2016 fr
drwxr-xr-x 4 root root 296 Nov 17 2016 zh_CN
和:
[email protected]_icu:/usr/share/locale# cd /usr/lib/locale/
[email protected]_icu:/usr/lib/locale# ls -la
total 0
drwxr-xr-x 9 root root 640 Mar 13 2017 .
drwxr-xr-x 32 root root 40000 Mar 13 2017 ..
drwxr-xr-x 3 root root 1016 Mar 13 2017 de_DE
drwxr-xr-x 3 root root 1016 Mar 13 2017 en_GB
drwxr-xr-x 3 root root 1016 Mar 13 2017 en_GB.ISO-8859-1
drwxr-xr-x 3 root root 1016 Mar 13 2017 en_US
drwxr-xr-x 3 root root 1016 Mar 13 2017 en_US.ISO-8859-1
drwxr-xr-x 3 root root 1016 Mar 13 2017 fr_FR
drwxr-xr-x 3 root root 1016 Mar 13 2017 zh_CN
哪個是所有非ISO-8859-1語言環境的編碼?我可以假設「en_GB」或「en_US」使用UTF-8編碼嗎?
我試圖打開 「LC_IDENTIFICATION」 文件,其結果是:
HccEnglish區域爲USAFree軟件 基金會, 公司http://www.gnu.org/software/libc/[email protected]_US:2000en_US:2000en_US:2000en_US:2000en_US:2000en_US:2000en_US:2000en_US:2000en_US:2000en_US:2000en_US:2000en_US:2000UTF-8
在文件的結尾有一些回憶 「UTF-8」。這足以假設編碼是UTF-8?
如何檢查語言環境是否爲UTF-8?
您可能會檢查[BOM](https://en.wikipedia.org/wiki/Byte_order_mark)。 –
還有[一個庫來檢測編碼](https://www.codeproject.com/articles/17201/detect-encoding-for-in-and-outgoing-text)。 –