Pregunta

Soy capaz de visualizar correctamente los símbolos estándar ASCII (hasta 127) como el "corazón", "nota" que conoces lo que quiero decir. Me gustaría mostrar también los que puedo usar para dibujar paredes (como U0205) pero no work..well, funciona, pero parece que "?". De cualquier manera cómo puedo mostrarlos? Gracias.

¿Fue útil?

Solución

Consola aplicaciones modo se restringen a una página de código de codificación de 8 bits. El valor por defecto en muchas máquinas es IBM437, la página de códigos que coincide con el antiguo juego de caracteres IBM PC. Puede cambiar la página de códigos asignando la propiedad OutputEncoding:

        Console.OutputEncoding = Encoding.UTF8;

Pero ahora que por lo general tienen un problema con la fuente. Consolas por defecto a la fuente Terminal, una vieja fuente de dispositivo que tenía glifos en el lugar correcto para producir el conjunto de caracteres IBM PC. No hay una gran cantidad de fuentes disponibles que pueden producir los glifos apropiados que coinciden con los puntos de código Unicode. Consolas de ello es, disponible en Vista y Win7.

Pero eso no es lo que están pidiendo, creo, supongo que en realidad se está preguntando por los viejos dibujo de la caja caracteres. Que funciona sin ningún jugando con los ajustes de la consola, sólo tiene que utilizar los caracteres Unicode correctos. Aquí hay un ejemplo que debe sobrevivir a una de copiar y pegar:

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

Para encontrar estos caracteres, utilice el applet charmap.exe de Windows. Haga clic en la casilla de verificación "Vista avanzada" y tipo "caja" en la "Búsqueda de" cuadro de texto, la cuadrícula se llenará con el dibujo de cuadro caracteres. La primera de ellas utilizable que convertirá correctamente a la consola es '\ u250c'.

Otros consejos

El problema parece ser con la aplicación de consola en lugar de con su programa. La consola estándar en Windows (cmd.exe) parece no ser compatible con Unicode correctamente - por ejemplo, tratar de copiar la cadena de abajo y pegar directamente en una ventana cmd.exe:

Fußball o u

PowerShell parece sufrir el mismo problema también.

Una posible solución a su problema es crear una ventana / forma dedicada para ser utilizado como una "consola de salida" en lugar de utilizar la consola real a través de la que se ejecute la aplicación.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top