Windows에서 en_US.UTF-8 로케일의 호환성
질문
개발자는 플랫폼 간 호환성을 보장하기 위해 이를 감지하는 적절한 기술을 포함하여 Windows에서 en_US.UTF-8 로케일을 구현하는 방법
답변
지금까지 UTF-8은 호환성 문제로 인해 Windows에서 시스템 로캘로 지원되지 않았습니다. 그러나 Microsoft는 점진적으로 UTF-8 로케일 지원을 도입했으며 이제 유니코드(-W) 버전보다 ANSI API(-A) 사용을 권장합니다.
UTF-8 로케일 활성화
Windows에서는 다음을 제공합니다. UTF-8 로케일 지원을 활성화하는 여러 가지 방법:
-
베타 옵션(Windows 10 빌드 17035 이상): 지역 설정 대화 상자에서 "전 세계 언어 지원을 위해 유니코드 UTF-8 사용" 확인란을 활성화합니다.
-
setlocale 사용: 베타 옵션을 활성화한 후 , setlocale(LC_ALL, ".utf8")을 사용하여 코드 페이지를 다음으로 설정합니다. UTF-8.
-
최신 Windows 버전(17134 이상): UTF-8 모드는 기본적으로 지원됩니다. 위에서 설명한 대로 setlocale을 사용하세요.
-
앱-로컬 배포 또는 정적 연결: Windows 버전 10 이전의 경우 앱-로컬 배포 또는 정적 연결이 필요합니다.
UTF-8 로케일 존재 감지
UTF-8 로케일의 존재를 감지하려면, 다음 접근 방식을 사용할 수 있습니다.
- 지역 설정에 en_US.UTF-8 로캘이 설정되어 있는지 확인하세요.
- 해당하는 경우 appxmanifest의 ActiveCodePage 속성을 쿼리하세요.
- /execution-charset:utf-8 또는 /utf-8 옵션을 사용하여 프로그램을 컴파일합니다(MSVC 만).
이러한 방법을 따르면 en_US.UTF-8 로케일을 지원하는 Windows 시스템에서 코드가 일관되게 작동하는지 확인할 수 있습니다.
위 내용은 Windows에서 en_US.UTF-8 로케일을 어떻게 구현하고 감지할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!