web-dev-qa-db-fra.com

Mac: Qu'est-ce que ~ / .CFUserTextEncoding?

J'ai donc ce fichier .CFUserTextEncoding dans mon répertoire personnel. Les résultats de recherche Google sont loin d'être idéaux, remplis d'anciennes pages de forum laides. Apple me donne un article de support indépendant. ADC me donne une note technique indépendante.

Tout ce que je peux comprendre jusqu’à présent, c’est que cela est lié à Core Foundation, ainsi qu’à un certain encodage de texte utilisateur. En tous cas:

  • Pourquoi est-ce que je l'ai?
  • Puis-je pas l'avoir?
  • A quoi sert-il, qu'est-ce que ça affecte?
  • Dans quel format est-il?
  • Dois-je le modifier manuellement?
  • Puis-je quand même?
37
kch

~/.CFUserTextEncoding stocke le codage de texte par défaut et la langue préférée pour un utilisateur. Vous trouverez ci-dessous un extrait de note technique 2228 de la bibliothèque de référence Mac OS X contenant des informations supplémentaires:

Core Foundation tente d'accéder au répertoire de base de l'utilisateur pour déterminer son codage de texte par défaut (stocké dans le fichier ~/.CFUserTextEncoding). Si vous passez de EUID à l'UID de l'utilisateur qui se connecte puis appelez CF, des problèmes peuvent survenir lorsque Core Foundation accède à ce fichier. Vous pouvez empêcher cet accès en définissant une variable d'environnement qui indique à Core Foundation le codage de texte par défaut à utiliser. Le nom de la variable d'environnement est __CF_USER_TEXT_ENCODING. Sa valeur doit être construite avec le format de chaîne "0x% X: 0: 0", où% X est remplacé par l'UID de l'utilisateur qui se connecte.

Par défaut, ma copie de ~/.CFUserTextEncoding contenait 0: 0. Le premier chiffre à gauche des deux points représente le codage par défaut. Le 0 dans mon fichier est pour kCFStringEncodingMacRoman. Une liste des codages et le numéro associé peuvent être trouvés dans le référence de CFString

La valeur après les deux points représente la langue préférée de l'utilisateur. Pour changer la langue préférée, allez à Langue et texte sous Préférences Système et déplacez une nouvelle langue en haut de la liste. Pour confirmer en quoi le fichier a été modifié, vous pouvez ouvrir Terminal et taper cat ~/.CFUserTextEncoding, ce qui a donné 0: 3 lorsque j'ai changé ma langue préférée d'anglais en allemand.

39
Matthew Rankin

Le fichier est simplement deux nombres séparés par deux points; la seconde correspond à la langue active. Répondre à vos questions:

Pourquoi est-ce que je l'ai? A quoi sert-il, qu'est-ce que ça affecte? Les applications l'utilisent pour attirer l'environnement lors du démarrage.

Puis-je pas l'avoir? Ce sera probablement recréé.

Dans quel format est-il? Arbitraire.

Dois-je le modifier manuellement? Si vous êtes prêt pour que votre Mac soit dans une langue aléatoire!

Puis-je quand même? Bien sûr.

4
Jeremy L