62 votes

Mac : A quoi sert ~/.CFUserTextEncoding ?

J'ai donc ceci .CFUserTextEncoding dans mon répertoire personnel. Les résultats de la recherche Google sont loin d'être idéaux, remplis de vieilles pages de forum moches. Apple me donne un article de support sans rapport. ADC me donne une technote sans rapport.

Tout ce que je peux rassembler jusqu'à présent est que c'est lié à Core Foundation, et, bien, à un encodage de texte de l'utilisateur. Quoi qu'il en soit :

  • Pourquoi je l'ai ?
  • Je ne peux pas l'avoir ?
  • A quoi ça sert, qu'est-ce que ça touche ?
  • Quel est son format ?
  • Dois-je l'éditer manuellement ?
  • Le pourrais-je, malgré tout ?

59voto

Colonel Sponsz Points 1320

~/.CFUserTextEncoding enregistre le codage de texte par défaut et la langue préférée d'un utilisateur. Voici un extrait de Note technique 2228 de la bibliothèque de référence de Mac OS X avec quelques informations supplémentaires :

Core Foundation tente d'accéder au répertoire personnel de l'utilisateur pour déterminer son encodage de texte par défaut (stocké dans le fichier ~/.CFUserTextEncoding). Si vous remplacez l'EUID par l'UID de l'utilisateur qui se connecte et que vous appelez ensuite CF, vous risquez d'avoir des problèmes 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 la chaîne de format "0x%X:0:0", où %X est remplacé par l'UID de l'utilisateur qui se connecte.

Par défaut, ma copie de ~/.CFUserTextEncoding contenu 0:0. Le premier chiffre à gauche des deux points représente l'encodage par défaut. Le 0 dans mon fichier est pour kCFStringEncodingMacRoman. Une liste d'encodages et le numéro associé se trouvent dans le fichier Référence CFString

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

5voto

Svet Points 1432

Le fichier est simplement constitué de deux nombres séparés par un deux-points, dont le second correspond à la langue active. Réponse à vos questions :

Pourquoi je l'ai ? A quoi ça sert, qu'est-ce que ça affecte ? Les applications l'utilisent pour tirer dans l'environnement au démarrage.

Je ne peux pas l'avoir ? Il sera très probablement recréé.

Quel est son format ? Arbitraire.

Dois-je l'éditer manuellement ? Si vous êtes prêt à ce que votre Mac soit dans une langue aléatoire !

Le pourrais-je, malgré tout ? Bien sûr.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X