Как отобразить арабскую строку в Юникоде в окне вывода VS? - PullRequest
1 голос
/ 13 марта 2012

У меня есть строка Uni-кода на арабском языке для отображения в окне вывода, а не в консоли, поэтому я мог использовать только OutputDebugStringW, и я вызываю SetConsoleOutputCP (1256) для установки арабской кодовой страницы, но все же он только выводит "??? ?». Что мне делать ...

1 Ответ

1 голос
/ 13 марта 2012

Это задокументированное ограничение для OutputDebugStringW ():

OutputDebugStringW преобразует указанную строку на основе текущей информации о локали системы и передает ее в OutputDebugStringA для отображения. В результате некоторые символы Юникода могут отображаться неправильно.

Вызов SetConsoleOutputCP () не решает проблему, которая изменяет кодовую страницу для окна консоли, а не отладчика. Вам придется изменить локаль системы, Панель управления + Регион, вкладка «Администрирование». Если арабский язык является вашим любимым языком, то его следует заменить на 1256. Это, конечно, будет иметь общесистемные эффекты.

...