문제

내 모든 툴킷을 사용하고 싶습니다. UTF-8 하지만 Windows의 일부 도구는 CP1252 (Windows에만 해당되는 것으로 보입니다).호환되지 않는 출력이 생성됩니까? 그렇다면 어떤 코드 포인트에서 생성됩니까?그렇다면 이에 대해 제가 무엇이든 할 수 있습니까?

(나는 문제를 완전히 이해하지 못하므로 이러한 인코딩에 대한 기본 교육에 감사드립니다.)

도움이 되었습니까?

해결책

Windows에서 코드 페이지 1252에 대한 도구 하드 코딩은 매우 할 것 같지 않은.이것이 컴퓨터의 기본 코드 페이지일 가능성이 훨씬 높습니다.1252는 서유럽과 아메리카에서 사용됩니다.제어판, 국가 및 언어 옵션에서 구성됩니다.그들은 다른 이름을 사용해 왔으며 Win7에서는 관리 탭의 시스템 로캘 변경에 있습니다.

예, 많은 도구는 다른 인코딩을 선택해야 할 타당한 이유가 없는 한 기본 코드 페이지를 사용합니다. BOM 정말 좋은 이유입니다.주목할만한 예로는 메모장(파일 + 열기 대화 상자에서 인코딩을 Ansi가 아닌 다른 것으로 변경하지 않는 한) 및 C/C++ 컴파일러가 있습니다.일반적으로 기본 코드 페이지를 사용하기 위해 수행해야 할 특별한 작업은 없습니다.BOM이 없을 때 텍스트 파일의 올바른 코드 페이지를 추측하는 것은 정확하게 불가능합니다.Google은 매우 재미있는 전쟁 이야기를 위해 "부시는 사실을 숨겼습니다".

다른 팁

6 세이고 여전히 관련이 있습니다. 모든 소프트웨어 개발자가 절대적으로 절대적으로 최소한, 유니 코드 및 문자 세트에 대해 긍정적으로 알아야합니다 (변명 없음!)

이제 귀하의 질문에 대해 : 예, UTF-8 파일에 질식하는 도구가 여전히 있습니다. 그러나 점점 더 많은 도구가 "그것을 얻고 있습니다". 자신만의 물건을 개발하는 경우 모든 문자열이 유니 코드 인 Python 3을 살펴볼 수 있습니다. 철학은 모든 입력을 가능한 빨리 유니 코드 (필요한 경우)로 변환하고 가능한 한 늦게 대상 인코딩으로 다시 전환하는 것입니다. 특정 파일의 인코딩을 추측하는 데 도움이되는 툴킷이 있습니다 (예 : 마크 순례자'에스 Chardet, 포트 모질라의 인코딩 검출기). 인코딩을 지정하지 않는 파일로 작업하는 경우 좋습니다.

CP1252와 UTF-8은 모든 문자 <128에 대해 동일합니다. 이는 그 이상 다릅니다. 따라서 영어를 고수하고 디아크리처 마크에서 멀리 떨어져 있으면 동일합니다.

대부분의 Windows 도구는 현재 사용자의 현재 코드 코드로 설정된 내용을 사용하며 US Windows의 경우 1252로 기본적으로 사용됩니다. 당신은 그것을 다른 Codepage로 쉽게 변경할 수 있습니다. 그러나 UTF-8은 Windows에 사용 가능한 CodePage 옵션 중 하나가 아닙니다. (그랬 으면 좋겠어).

Windows의 일부 유틸리티는 다음을 이해합니다 UTF-8 바이트 주문 마크 파일 시작시. 불행히도 나는 이것이 시도하는 것 외에는 이것이 효과가 있는지 판단하는 방법을 모른다.

UTF-8은 Windows에서 지원되지만 a 현재의 Codepage. UTF-8을 사용할 수 있지만 IT에서/에서 변환 할 수 있지만 현재 코드 페페지를 설정할 수는 없습니다.

먼저 CodePage를 설정하여 시간을 낭비하려고하지 마십시오.이 접근법은 Sisyphus 신화를 상기시켜줍니다. CodePages를 사용하여 문제를 해결할 수는 없으므로 유니 코드를 사용해야합니다.

당신을위한 유일한 진짜 해결책은 UTF-16을 사용하도록 응용 프로그램을 유니 코드로 구축하십시오. 및 내/출력 작업에서 UTF-8로/로 변환합니다. Fopen은 UTF-8을 읽거나 쓰는 것을 지원하기 때문에 이것은 매우 간단합니다.

UTF-8 파일을 사용한 다른 Windows 도구의 사용과 관련하여 도구가 ASCII로 작동 할 수 있으면 UTF-8과 작동하므로 유니 코드 숯을 구별 할 수 없을 수도 있습니다. 최소한 파일을로드/구문 분석 할 수 있습니다).

BTW, 사용중인 프로그래밍 언어와 사용을 위해 어떤 Windows 도구를 고려하고있는 Windows 도구를 지정하는 것을 잊었습니다.

또한 더 많은 국제화에 관심이 있으시면 blog.i18n.ro

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top