Как я печатаю UTF-8 из консольного приложения C++ в Windows

Попытайтесь загрузиться от любого Linux LiveCDs. На моем Toshiba Tecra A8 я попробовал щенок Linux 4 . Я не мог услышать звук, когда я загрузился от щенок Linux 4 , но когда я перезагрузил к моему Ubuntu 15.04 , звук вернулся. И в параметрах звука были "Встроенные Динамики" вместо "Фиктивный Вывод" как мои динамики.

19
задан Paul Dixon 3 September 2009 в 01:25
поделиться

4 ответа

Вот статья от MVP Майкла Каплана о том, как правильно выводить UTF-16 через консоль. Вы можете преобразовать свой UTF-8 в UTF-16 и вывести его.

5
ответ дан 30 November 2019 в 04:44
поделиться

Консоль Windows по умолчанию использует кодовую страницу OEM для отображения вывода.

Чтобы изменить кодовую страницу на Unicode, введите chcp 65001 в консоли или попробуйте изменить кодовую страницу программно с помощью SetConsoleOutputCP .

Обратите внимание, что вам, вероятно, придется изменить шрифт консоли на тот, который имеет глифы в диапазоне Unicode.

8
ответ дан 30 November 2019 в 04:44
поделиться

Я никогда не пробовал устанавливать кодовую страницу консоли в UTF8 (не уверен, почему это не сработает ... консоль может нормально обрабатывать другие многобайтовые кодовые страницы), но есть пара функций, которые нужно искать: SetConsoleCP и SetConsoleOutputCP.

Вы возможно, также необходимо убедиться, что вы используете консольный шрифт, способный отображать ваши символы. Есть функция SetCurrentConsoleFontEx , но она доступна только в Vista и более поздних версиях.

Надеюсь, что это поможет.

4
ответ дан 30 November 2019 в 04:44
поделиться

В консоли введите chcp 65001 , чтобы изменить кодовую страницу на UTF-8.

0
ответ дан 30 November 2019 в 04:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: