~/.CFUserTextEncoding
armazena a codificação de texto padrão e o idioma preferido para um usuário. Abaixo está um trecho da Nota técnica 2228 da Biblioteca de referência do Mac OS X com mais algumas informações:
O Core Foundation tenta acessar o diretório inicial do usuário para determinar sua codificação de texto padrão (armazenada no arquivo ~ / .CFUserTextEncoding). Se você alternar o EUID para o UID do usuário que efetuou login e ligar para CF, poderá ter problemas quando o Core Foundation acessar esse arquivo. Você pode impedir esse acesso definindo uma variável de ambiente que informe ao Core Foundation a codificação de texto padrão a ser usada. O nome da variável de ambiente é __CF_USER_TEXT_ENCODING. Seu valor deve ser construído com a string de formato "0x% X: 0: 0", em que% X é substituído pelo UID do usuário que efetuou login.
Por padrão, minha cópia de ~/.CFUserTextEncoding
0: 0 continha. O primeiro número à esquerda dos dois pontos representa a codificação padrão. O 0 no meu arquivo é para kCFStringEncodingMacRoman. Uma lista de codificações e o número associado podem ser encontrados na Referência de CFString
O valor após os dois pontos representa o idioma preferido do usuário. Para alterar o idioma preferido, vá para Idioma e texto em Preferências do sistema e mova um novo idioma para o topo da lista. Para confirmar a alteração do arquivo, você pode abrir o Terminal e digitar cat ~/.CFUserTextEncoding
, que resultou em 0: 3 quando mudei meu idioma preferido de inglês para alemão.