Mac : ~ / .CFUserTextEncoding은 무엇입니까?


38

그래서 나는이 .CFUserTextEncoding파일을 내 집 디렉토리에 있습니다. Google 검색 결과는 이상적이지 않으며 오래된 추악한 포럼 페이지로 채워집니다. 애플은 나에게 관련없는 지원 기사를 제공합니다. ADC는 관련없는 기술 노트를 제공합니다.

지금까지 수집 할 수있는 것은 Core Foundation 및 일부 사용자 텍스트 인코딩과 관련이 있다는 것입니다. 어쨌든:

  • 왜 가지고 있습니까?
  • 가질 수 없습니까?
  • 무엇을위한 것이며 어떤 영향을 미칩니 까?
  • 어떤 형식입니까?
  • 수동으로 편집해야합니까?
  • 어쨌든 내가 할 수 있을까?

아니면 핵심 기반으로 인해 스택 오버 플로우에 있어야합니까?
kch

CoreFoundation과 관련되어 있으므로 SO에서 더 나은 행운을 얻을 수 있습니다.
Lawrence Velázquez

답변:


39

~/.CFUserTextEncoding사용자의 기본 텍스트 인코딩 및 기본 언어를 저장합니다. 다음은 Mac OS X 참조 라이브러리의 기술 노트 2228 에서 발췌 한 내용입니다.

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 참조 에서 찾을 수 있습니다.

콜론 뒤의 값은 사용자가 선호하는 언어를 나타냅니다. 선호하는 언어를 변경하려면 시스템 환경 설정에서 언어 및 텍스트로 이동하여 새 언어를 목록의 맨 위로 이동하십시오. 파일이 변경된 것을 확인하기 위해 터미널 cat ~/.CFUserTextEncoding을 열고을 입력 하면 원하는 언어를 영어에서 독일어로 변경할 때 0 : 3이 표시됩니다.


그래서. 인코딩 값을 kCFStringEncodingUTF8의 인코딩 값으로 변경하는 것이 좋은 생각입니까?
kch December

4
예, 멋지다 파일을 0x08000100 : 0으로 변경했으며 UTF-8 텍스트 / 일반 파일에서 Finder의 빠른보기를 트리거하면 확장 문자가 올바르게 표시됩니다.
kch December

2
echo "0x08000100:0" > ~/.CFUserTextEncoding트릭을 수행하지만 Adobe Illustrator CS5에서 파일을 저장할 때 문제를 일으키는 것으로 알려져 있습니다.
Mathias Bynens

echo -n "0x08000100:0x0" > ~/.CFUserTextEncoding의도하지 않은 새로운 라인을 추가하지 않으려면 사용하십시오 .
MERM

언어 및 지역 환경 설정 패널을 열면 파일이 기본 인코딩으로 재설정 될 수 있습니다.
ShadSterling

4

파일은 콜론으로 구분 된 두 숫자입니다. 두 번째는 활성 언어에 해당합니다. 질문에 대한 답변 :

왜 가지고 있습니까? 무엇을위한 것이며 어떤 영향을 미칩니 까? 응용 프로그램은 시작할 때 환경을 끌어 오기 위해 사용합니다.

가질 수 없습니까? 아마도 다시 만들어 질 것입니다.

어떤 형식입니까? 임의로.

수동으로 편집해야합니까? Mac이 임의 언어로 준비되어 있다면!

어쨌든 내가 할 수 있을까? 물론이야.


포맷이 임의적 인 이유는 무엇입니까? 파일에서 숫자, 콜론, 숫자 (예 : 0 : 0)의 형식은 사용자의 기본 텍스트 인코딩 및 사용자가 선호하는 언어에 해당합니다. 나에게 임의적이지 않은 것 같습니다.
Matthew Rankin

1
공백, 아포스트로피 등과 같이 쉼표로 충분할 것입니다. 숫자는 다른 방법 일 수 있습니다. 그들은 임의로 선택되었습니다.
Jeremy L

1
형식! = 내용.
Jeremy L

1
이 파일을 변경해도 Mac이 실행되는 언어에는 영향을 미치지 않습니다. 사용자의 글로벌 도메인 환경 설정에서 AppleLanguages ​​배열에 저장됩니다.
lensovet
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.