Поэтому я хочу использовать SetThreadLocale для установки кодовой страницы потоков в UTF8. До сих пор я использовал второй параметр макросов преобразования строки atl, например «CT2A (szBUF, CP_UTF8)». Но я хочу иметь возможность устанавливать кодовую страницу нити один раз в начале с помощью SetThreadLocale() и никогда больше не использовать второй параметр макроса преобразования.SetThreadLocale и UTF8
Как это сделать? SetThreadLocale не будет использовать параметр кодовой страницы, такой как CP_UTF8, только LCID. Какие параметры я должен кормить SetThreadLocale для достижения этого?
Имейте в виду, что у меня нет конкретного языка. Строки, которые я получаю, могут быть японскими, корейскими, английскими и т. Д. До сих пор у меня нет проблем с этим соединением строк при указании CP_UTF8 в качестве второго параметра макроса преобразования. Вы можете спросить «ну тогда почему бы просто не использовать второй параметр». Ответ: «потому что это может быть легко забыто членами команды, работающими над кодом. Было бы неплохо, если бы он корректно работал, используя стандартную версию макроса преобразования по умолчанию».
Это объяснение имеет смысл, спасибо. Да, я думаю, что я буду использовать второй параметр. Кажется, это не простой способ установить кодовую страницу для потока один раз. –