Вопрос

Я могу правильно отобразить стандартные символы ASCII (до 127), как «сердце», «Примечание. Вы знаете, что я имею в виду. Я хотел бы также отображать, что я могу использовать для рисования стен (например, U0205), но он не работает .. Нэвус, он работает, но он выглядит как «?». Любой способ, как я могу их показать? Спасибо.

Это было полезно?

Решение

Приложения Mode Console ограничены 8-битным кодировкой страницы кода. По умолчанию на многих машинах IBM437, кодовая страница, которая соответствует старому набору символов IBM PC. Вы можете изменить кодовую страницу, назначая свойство OpdedEncoding:

        Console.OutputEncoding = Encoding.UTF8;

Но теперь у вас обычно проблема с шрифтом. Консоли по умолчанию для шрифта клеммы, шрифт старого устройства, который имел Glyphs в нужном месте для создания набора символов IBM PC. Нет много доступных шрифтов, которые могут создавать надлежащие глифы, которые соответствуют кодом Unicode. Консолас об этом, доступно на Vista и Win7.

Но это не то, что вы спрашиваете, я думаю, я предполагаю, что вы на самом деле спрашиваете о старых персонажах рисования коробки. Это работает без какого-либо Tinkering с настройками консоли, вам просто нужно использовать правильные символы Unicode. Вот пример, который должен пережить копию и пасте:

class Program {
    static void Main(string[] args) {
        Console.WriteLine("╒════════╕");
        Console.WriteLine("│ Hello  │");
        Console.WriteLine("│ world  │");
        Console.WriteLine("╘════════╛");
        Console.ReadLine();
    }
}

Чтобы найти эти символы, используйте апплет Windows Charmap.exe. Щелкните флажок «Расширенный просмотр» и введите «Box» в текстовом поле «Поиск», сетка будет заполняться символами рисования коробки. Первый используемый, который будет правильно преобразован в консоль, - это « u250c».

Другие советы

Проблема, кажется, с приложением консоли, а не с вашей программой. Стандартная консоль в Windows (cmd.exe), кажется, не поддерживает Unicode правильно - например, попробуйте копировать строку ниже и вставление непосредственно в окно CMD.EXE:

Fußball Ö ü.

PowerShell, кажется, страдает от такой же проблемы.

Одним из возможных решений вашей проблемы состоит в том, чтобы создать выделенное окно / форму, которая будет использоваться в качестве «выходной консоли» вместо использования фактической консоли, через которую было выполнено приложение.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top