~/.CFUserTextEncoding
lưu trữ mã hóa văn bản mặc định và ngôn ngữ ưa thích cho người dùng. Dưới đây là đoạn trích từ Ghi chú kỹ thuật 2228 của Thư viện tham khảo Mac OS X với một số thông tin khác:
Core Foundation cố gắng truy cập vào thư mục chính của người dùng để xác định mã hóa văn bản mặc định của họ (được lưu trong tệp ~ / .CFUserTextEncoding). Nếu bạn chuyển EUID sang UID của người dùng đăng nhập và sau đó gọi CF, bạn có thể gặp sự cố khi Core Foundation truy cập tệp này. Bạn có thể ngăn truy cập này bằng cách đặt biến môi trường cho Core Foundation biết mã hóa văn bản mặc định sẽ sử dụng. Tên biến môi trường là __CF_USER_TEXT_ENCODING. Giá trị của nó phải được xây dựng bằng chuỗi định dạng "0x% X: 0: 0", trong đó% X được thay thế bằng UID của người dùng đăng nhập.
Theo mặc định, bản sao của tôi ~/.CFUserTextEncoding
chứa 0: 0. Số đầu tiên bên trái dấu hai chấm biểu thị mã hóa mặc định. Số 0 trong tệp của tôi là dành cho kCFStringEncodingMacRoman. Có thể tìm thấy danh sách mã hóa và số liên quan trong Tham chiếu CFString
Giá trị sau dấu hai chấm đại diện cho ngôn ngữ ưa thích của người dùng. Để thay đổi ngôn ngữ ưa thích, hãy chuyển đến Ngôn ngữ & Văn bản trong Tùy chọn hệ thống và di chuyển ngôn ngữ mới lên đầu danh sách. Để xác nhận tập tin đã thay đổi thành gì, bạn có thể mở Terminal và gõ cat ~/.CFUserTextEncoding
, kết quả là 0: 3 khi tôi thay đổi ngôn ngữ ưa thích của mình từ tiếng Anh sang tiếng Đức.