Como verificar se um código de idioma é UTF-8?
Estou trabalhando com a Yocto para criar uma distribuição linux incorporada para um dispositivo ARM (i.MX 6Quad Processors).
Eu configurei a lista de localidades desejadas com a variável:
IMAGE_LINGUAS = "de-de fr-fr en-gb en-gb.iso-8859-1 en-us en-us.iso-8859-1 zh-cn"
Como resultado, obtive um sistema de arquivos que contém as seguintes pastas:
root@lam_icu:/usr/lib/locale# cd /usr/share/locale/
root@lam_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
e:
root@lam_icu:/usr/share/locale# cd /usr/lib/locale/
root@lam_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
Qual é a codificação de todos os locais não ISO-8859-1? Posso assumir que "en_GB" ou "en_US" usam a codificação UTF-8?
Eu tentei abrir o arquivo "LC_IDENTIFICATION", o resultado é:
Hc cInglês local para a USAFree Software Foundation, Inc.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
No final do arquivo, existe algo que lembra "UTF-8". Isso é suficiente para assumir que a codificação é UTF-8?
Como verificar se um código de idioma é UTF-8?