none
Que me muestre el € en los mensajes RRS feed

  • Pregunta

  • Hola:

    Cada vez que escribo ciertos carácteres en un mensaje como Console.WriteLine("Cuesta 100,00 €"); me aparece en vez del €, el ?.

    ¿Hal alguna solución?

    Me ocurre cuando programe en modo consola C#.

    using System;
    using System.Text;
    
    namespace Mensajes_Consola
    {
        class Program
        {
            static void Main(string[] args)
            {
                // Título de la ventana.
                Console.Title = "www.elotrolado.net - REHome";
    
                // Tamaño ventana consola.
                Console.WindowWidth = 60; // X. Ancho.
                Console.WindowHeight = 20; // Y. Alto.
    
                // Colores en pantalla y textos.
                Console.ForegroundColor = ConsoleColor.Magenta;
                //Console.WriteLine(" ");
                Console.WriteLine("Hola: \n");
                //Console.ResetColor();
                //Console.BackgroundColor = ConsoleColor.Blue;
    
                Encoding e2 = Encoding.GetEncoding("utf-8");
    
                Console.WriteLine(@"
    Mensaje de prueba con los €uros.
    
    Un cordial saludo.
    
    ");
    
                Console.ForegroundColor = ConsoleColor.Gray;
                Console.Write(@"PD: Y siguen con los €€€€€€€.");
                Console.ReadKey();
            }
        }
    }

    Saludos.


    http://electronica-pic.blogspot.com

    lunes, 23 de abril de 2018 9:09

Respuestas

Todas las respuestas

  • Configura la salida de consola para que soporte Unicode:

    Console.OutputEncoding = System.Text.Encoding.UTF8;

    https://msdn.microsoft.com/en-us/library/system.console.outputencoding(v=vs.110).aspx

    • Marcado como respuesta Metaconta lunes, 23 de abril de 2018 23:32
    lunes, 23 de abril de 2018 11:23
    Moderador
  • No se como aplicar el

    Console.OutputEncoding = Encoding.UTF8;


    http://electronica-pic.blogspot.com

    lunes, 23 de abril de 2018 14:37
  • No se como aplicar

    Se aplica por las buenas. No hay que hacer nada en especial, solamente ejecutar ese código antes de empezar a escribir en la consola.
    lunes, 23 de abril de 2018 17:02
    Moderador
  • Lo puse desde el principio y se comporta igual.

    using System; using System.Text; namespace Mensajes_Consola { class Program { static void Main(string[] args) {

    Console.OutputEncoding = Encoding.UTF8;

    // Título de la ventana. Console.Title = "www.elotrolado.net - REHome"; // Tamaño ventana consola. Console.WindowWidth = 60; // X. Ancho. Console.WindowHeight = 20; // Y. Alto. // Colores en pantalla y textos. Console.ForegroundColor = ConsoleColor.Magenta; //Console.WriteLine(" "); Console.WriteLine("Hola: \n"); //Console.ResetColor(); //Console.BackgroundColor = ConsoleColor.Blue; Console.WriteLine(@" Mensaje de prueba con los €uros. Un cordial saludo. "); Console.ForegroundColor = ConsoleColor.Gray; Console.Write(@"PD: Y siguen con los €€€€€€€."); Console.ReadKey(); } } }



    http://electronica-pic.blogspot.com

    lunes, 23 de abril de 2018 18:01
  • He copiado tu programa, lo he pegado en Visual Studio, y lo he ejecutado sin cambiar absolutamente nada. Aquí tienes el resultado:

    Captura de pantalla

    Como puedes ver, los € salen correctos.

    Revisa el Font que tienes en la consola. Fíjate en las restricciones que indica la documentación cuyo enlace te puse en la primera respuesta.

    • Marcado como respuesta Metaconta lunes, 23 de abril de 2018 23:31
    lunes, 23 de abril de 2018 20:29
    Moderador