Как я могу заставить мой код Visual Studio поддерживать больше символов Юникода? - PullRequest
0 голосов
/ 12 марта 2020

enter image description here

У меня проблема с программой, созданной в visual studio 2019. Сам код или алгоритм не так, потому что он работает должным образом, как я планировал .

Но у меня возникла проблема, так как я добавлял патчи для поддержки других языков. Я добавил корейскую и испанскую версии sh, но корейская версия хорошо, а Spani sh нет. Если вы видите на этой фотографии, которая является первой сценой моей программы, выходные данные Engli sh и корейских символов хороши, но для Spani sh она печатается как "Espa? Ol", которая должна быть напечатанным как «Español».

Я полагаю, что это какая-то проблема с предустановками или отсутствие языковых пакетов (которые связаны с системами Unicode) или около того, но я не смог найти что-нибудь, чтобы решить эту проблему. Как я могу исправить эту проблему и обеспечить правильное отображение символов Spani sh?

Для вашей информации, я использую C ++ в VS2019 и использовал тип "string" для всех операторов.

Я прошу вашей помощи, чтобы решить эту проблему. Благодарим вас за щедрость.

1 Ответ

1 голос
/ 12 марта 2020

Кажется, вам нужны две вещи:

  1. Настройка набора символов выполнения для вашего проекта VC ++.

https://docs.microsoft.com/en-us/cpp/build/reference/execution-charset-set-execution-character-set?view=vs-2019

В основном добавление опции компилятора /utf-8 в Свойства конфигурации, C / C ++, Командная строка.

Изменение кодовой страницы для консоли. Visual Studio использует cmd для консольного приложения, а cmd может некорректно обрабатывать символы Юникода. Вместо этого вы можете запустить вашу .exe-программу из независимого cmd, используя кодовую страницу Unicode:
cmd>chcp 65001
cmd>out.exe
Hello Español!

или вызывая команду chcp изнутри вашей программы.

system("chcp 65001");
cout << "Hello Español!" << endl;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...