그래서 SetThreadLocale을 사용하여 스레드 코드 페이지를 UTF8로 설정하려고합니다. 지금까지 "CT2A (szBUF, CP_UTF8)"와 같은 atl 문자열 변환 매크로의 두 번째 매개 변수를 사용하여이 작업을 수행했습니다. 하지만 SetThreadLocale()을 사용하여 처음에는 스레드 코드 페이지를 한 번 설정하고 변환 매크로의 두 번째 매개 변수를 다시 사용할 필요가 없습니다.SetThreadLocale 및 UTF8
어떻게하면됩니까? SetThreadLocale은 CP_UTF8과 같은 코드 페이지 매개 변수를 사용하지 않고 LCID 만 사용합니다. SetThreadLocale 어떤 매개 변수를 먹여야합니까?
염두에두고 특별한 언어가 없습니다. 내가 얻는 문자열은 일본어, 한국어, 영어 등이 될 수 있습니다. 지금까지 CP_UTF8을 변환 매크로의 두 번째 매개 변수로 지정할 때이 문자열 조합에 문제가 없습니다. "그럼 왜 그냥 두 번째 매개 변수를 계속 사용하지 않는지"물어보십시오. 대답은 "코드에서 작업하는 팀 구성원이 쉽게 잊어 버릴 수 있기 때문입니다. 변환 매크로의 기본 1 매개 변수 버전을 사용하면 올바르게 작동하는 것이 좋을 것입니다."
이 설명은 감사합니다. 그래, 나는 두 번째 매개 변수를 사용하려고한다고 생각한다. 한 번 스레드에 대한 코드 페이지를 설정하는 쉬운 방법이 아닌 것 같습니다. –