Windows 7에서 UTF8을 기본 문자 인코딩으로 설정

Windows 7에서 UTF8을 기본 문자 인코딩으로 설정

Windows 7에서 전 세계적으로 UTF-8을 표준으로 사용하도록 설정하는 방법이 있습니까?
모든 단일 텍스트 편집기를 사용하도록 설정하는 것은 정말 짜증나는 일입니다.

답변1

짧은 대답은아니요, 불가능합니다.

자세히 설명하자면, 1) 2) 나열된 모든 응용 프로그램이 준수하는 전역 기본값을 설정할 수 있는 전역 인코딩 옵션을 Windows 7에서 찾을 수 없을 것 같습니다.

그리고 여기서 해결하려는 문제가 무엇인지 묻고 싶습니다.

데이터를 표현하기 위해 내부적으로 유니코드를 사용할지 여부를 선택하는 것은 애플리케이션에 달려 있습니다.유니코드 사용이 권장되지만, 실제로 모든 애플리케이션이 내부적으로 이를 지원하는지 확신할 수 없습니다.

당신은 무엇을할수있다그러나 나열된 각 응용 프로그램의 기본 문자 인코딩은 변경됩니다.

  • Eclipse의 경우 새 파일의 기본 인코딩은 다음에서 설정할 수 있습니다.Windows > 기본 설정 > 일반 > 콘텐츠 유형(보다Eclipse 커뮤니티 양식에 게시)
  • Notepad++의 경우 다음으로 이동합니다.설정 > 기본 설정 > 새 문서/기본/디렉터리인코딩을 다음으로 설정합니다.UTF-8
  • Thunderbird의 경우 이미 UTF-8을 기본 인코딩으로 사용하고 있다고 확신합니다. (보다문자 인코딩에 대한 참고사항)
  • OpenOffice(및 LibreOffice)의 경우 실제로 인코딩에 신경 쓸 필요조차 없습니다. OpenOffice에서 저장한 문서는 XML을 기반으로 하기 때문에 인코딩은 XML 파일에서 내부적으로 지정됩니다.UTF-8이미 기본값도 있습니다)
  • UTF-8 관점에서 보면 PowerShell은 까다롭습니다. 기본 인코딩은 UTF-16LE.
    • PowerShell에서 UTF-8로 파일을 출력하려면 다음을 참조하세요.이 답변
    • 기본 인코딩을 변경하려면 다음을 참조하세요.이 답변

답변2

UTF-8에 대한 ANSI 코드 페이지가 있음에도 불구하고 Windows에서는 UTF-8을 시스템 ANSI 코드 페이지로 허용하지 않기 때문에 주로 불가능합니다.코드페이지 65001. 여기에는 여러 가지 이유가 있는 것 같습니다.

  • 유니코드가 처음 등장했을 때 Microsoft는 UCS-2가 유니코드를 지원하는 가장 좋은 방법이 될 것이라고 결정했습니다. 당시 유니코드는 16비트였습니다.
  • Windows에는 지원되는 각 언어에 대해 하나의 ANSI 코드 페이지가 있습니다., 언어와 인코딩을 독립적으로 설정할 수 있는 Unix 및 Linux와는 다릅니다.
  • 코드 페이지 65001은 모든 곳에서 작동하지 않습니다. 특히 멀티바이트 문자에는 1~2바이트가 필요한 반면 UTF-8에는 1~4바이트가 필요한 Windows의 일부 멀티바이트 지원으로 인해 문제가 발생했습니다. 그만큼WriteFile()API예를 들어 코드 페이지 65001에서 잘못된 결과를 반환합니다. 이 결과는 이에 의존하는 모든 라이브러리 코드를 통해 버블링됩니다.write().

마이크로소프트에서 국제화 분야에 종사했던 故 마이클 카플란(Michael Kaplan)이 블로그를 운영했습니다."다 정리하다", 관련 주제에 대한 여러 게시물이 있습니다. 나는 예전에 이러한 우려 사항 중 일부에 대해 그에게 직접 이메일을 보냈습니다.

관련 정보