~/.CFUserTextEncoding
зберігає кодування тексту за замовчуванням та бажану мову для користувача. Нижче наводиться уривок з Технічної примітки 2228 довідкової бібліотеки Mac OS X з додатковою інформацією:
Core Foundation намагається отримати доступ до домашнього каталогу користувача для визначення кодування тексту за замовчуванням (зберігається у файлі ~ / .CFUserTextEncoding). Якщо ви переключите EUID на UID користувача, який входить у систему, а потім викликаєте CF, у вас можуть виникнути проблеми, коли Core Foundation звертається до цього файлу. Ви можете запобігти цьому доступу, встановивши змінну середовища, яка повідомляє Core Foundation про використання кодування тексту за замовчуванням. Назва змінної середовища - __CF_USER_TEXT_ENCODING. Його значення повинно бути побудовано за допомогою рядка формату "0x% X: 0: 0", де% X замінюється UID користувача, що входить в систему.
За замовчуванням моя копія ~/.CFUserTextEncoding
містила 0: 0. Перше число зліва від двокрапки представляє кодування за замовчуванням. 0 у моєму файлі призначений для kCFStringEncodingMacRoman. Перелік кодувань та пов'язаний з ними номер можна знайти у довідці CFString
Значення після двокрапки представляє бажану мову користувача. Щоб змінити бажану мову, перейдіть до "Мова та текст" у розділі Налаштування системи та перемістіть нову мову вгорі списку. Щоб підтвердити те, на що змінився файл, ви можете відкрити Terminal і ввести cat ~/.CFUserTextEncoding
, що дало 0: 3, коли я змінив бажану мову з англійської на німецьку.