Mac: O que é o ~ / .CFUserTextEncoding?

36

Portanto, eu tenho esse arquivo .CFUserTextEncoding no meu diretório home. Os resultados de pesquisa do Google são menos que ideais, repletos de páginas antigas e feias do fórum. A Apple me dá um artigo de suporte não relacionado. ADC me dá uma nota técnica não relacionada.

Tudo o que posso reunir até agora é que está relacionado à Core Foundation e, bem, a alguma codificação de texto do usuário. De qualquer forma:

  • Por que eu tenho isso?
  • Eu não posso tê-lo?
  • Para que serve, o que isso afeta?
  • Em que formato está?
  • Devo editá-lo manualmente?
  • Eu poderia, independentemente disso?
por kch 11.12.2009 / 23:47

2 respostas

38

~/.CFUserTextEncoding armazena a codificação de texto padrão e o idioma preferencial de um usuário. Veja abaixo um trecho da Nota Técnica 2228 da Biblioteca de Referência do Mac OS X, com mais algumas informações:

Core Foundation tries to access the user's home directory to determine their default text encoding (stored in the file ~/.CFUserTextEncoding). If you switch the EUID to the UID of the logging in user and then call CF, you may have problems when Core Foundation accesses this file. You can prevent this access by setting an environment variable that tells Core Foundation the default text encoding to use. The environment variable name is __CF_USER_TEXT_ENCODING. Its value should be constructed with the format string "0x%X:0:0", where %X is replaced by the UID of the logging in user.

Por padrão, minha cópia de ~/.CFUserTextEncoding continha 0: 0. 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 pode ser encontrado no Referência do CFString

O valor depois dos dois pontos representa o idioma preferido do usuário. Para alterar o idioma preferido, vá para Idioma & Texto em System Preferences e mova um novo idioma no topo da lista. Para confirmar o que o arquivo mudou, você pode abrir o Terminal e digitar cat ~/.CFUserTextEncoding , que resultou em 0: 3 quando alterei meu idioma preferido de inglês para alemão.

    
por 12.12.2009 / 03:56
4

O arquivo é simplesmente dois números separados por dois pontos; o segundo dos quais corresponde à linguagem ativa. Respondendo suas perguntas:

Por que eu tenho isso? Para que serve, o que isso afeta? Aplicativos usam para puxar o ambiente ao iniciar.

Eu não posso tê-lo? É muito provável que seja recriado.

Em que formato está? Arbitrário.

Devo editá-lo manualmente? Se você está pronto para o seu Mac estar em um idioma aleatório!

Eu poderia, independentemente? Claro.

    
por 12.12.2009 / 03:04