Как вывести не-ASCII символы в сеанс CMD.exe? - PullRequest
0 голосов
/ 05 ноября 2018

Когда я пытаюсь вывести символ Unicode 8595 (десятичный), который является стрелкой вниз, из моего приложения командной строки C #, вместо того, чтобы видеть стрелку вниз, консоль отображает знак вопроса в поле.

Есть ли способ вывести символ стрелки вниз, чтобы он отображался в консоли?

Единственный инструмент, с которым мне нужно кодировать это визуальная студия. Ниже мой код:

    static void Main(string[] args)
    {
        char arrow = (char)8595;
        Console.WriteLine(arrow);
    }

Вот изображение того, что я вижу в окне cmd.exe при запуске приложения из командной строки (обратите внимание на вопросительный знак в штучной упаковке над буквой «P» в «Прессе»):

enter image description here

Ответы [ 2 ]

0 голосов
/ 05 ноября 2018

Вам нужно сообщить консоли, что вы собираетесь писать в нее не-ASCII символы.

Измените ваш код следующим образом:

static void Main(string[] args)
{
    char arrow = (char)8595;

    Console.OutputEncoding = System.Text.Encoding.UTF8;  // set encoding of console
    Console.WriteLine(arrow);
}
0 голосов
/ 05 ноября 2018

Я не знаю, сработает ли это, но нажмите alt + 'numpad' 26, затем оставьте его, он должен дать вам символ стрелки, а затем распечатать его в консоли

char arrow = '//Press Alt 26'; Console.WriteLine(arrow);
...