No se pueden mostrar correctamente los acentos en VSCode 2022

19BlueMonkey92 -  
 19BlueMonkey92 -

Hola a todos,

Recientemente empecé a usar Visual Studio Community 2022 para aprender C++ y he notado un problema de tamaño, los acentos se muestran de forma extraña. He visto que para mostrarlos hay que cambiar la fuente de la consola de ejecución a Consolas o Lucida Console (pero no funciona :/), o introducir el código de los caracteres (lo que hace la escritura de texto mucho más difícil y lenta).

En resumen, me gustaría saber cómo mostrarlos sin complicarme demasiado.

Gracias de antemano.

2 respuestas

  1. Dalfab Mensajes publicados 638 Fecha de registro   Estado Miembro Última intervención   102
     

    Una solución "sin complicarte demasiado" en tu caso. Forzar al código compilado a usar la misma página de código que la consola.

    La consola utiliza en Europa la página ibm850. Modificas las propiedades de tu proyecto, y en "C/C++", "línea de comando", "opciones adicionales", introduces: /execution-charset:.850

    3
    1. 19BlueMonkey92
       

      Ok, gracias, voy a ver si funciona

      0
      1. 19BlueMonkey92 > 19BlueMonkey92
         

        Bueno, no encuentro por dónde accedemos a estas opciones.

        ¿Podrías indicarme dónde, por favor?

        0
      2. Dalfab Mensajes publicados 638 Fecha de registro   Estado Miembro Última intervención   102 > 19BlueMonkey92
         
        Menú: proyecto
        Submenú: propiedades del proyecto
        Luego
         

        0
      3. 19BlueMonkey92 > Dalfab Mensajes publicados 638 Fecha de registro   Estado Miembro Última intervención  
         

        Ok gracias

        0
  2. Usuario anónimo
     

    Hola

    por defecto C y C+c sólo soportan Unicode, es decir, un juego de caracteres sin signos diacríticos (acentos, cedilla, letras tachadas, etc.).

    Normalmente los buenos cursos para principiantes lo indican bastante rápido.

    Esta "limitación" tiene una excelente razón de ser: estos lenguajes son multiplataforma, y el juego Unicode es el único que se reconoce por defecto desde los inicios de C en cualquier tipo de sistema operativo.

    Para mostrar los diacríticos manteniendo la portabilidad, hay que escribir un código que se adapte al system operativo, y eso no está al alcance de un principiante.

    Ésa es la razón por la que los textos que deben mostrarse según buenos cursos para principiantes no llevan diacríticos.


    Cuando era pequeño, la mar Morte no era sino enferma.
    George Burns

    0
    1. [Dal] Mensajes publicados 6122 Fecha de registro   Estado Colaborador Última intervención   1 108
       

      Creo que hablas más bien de ASCII, que data de los años 60 y que tiene capacidades muy limitadas para la representación de caracteres porque codifica los caracteres en 7 bits. Efectivamente, ahí no hay caracteres acentuados.

      CP850, mencionada por Dalfab, es una página de código “extendida” compatible con ASCII, pero que utiliza los 8 bits de un octeto, lo que permite incluir los caracteres acentuados, entre otros.

      Unicode fue creado en los años 90, y tiene como objetivo permitir la representación de todos los sistemas de escritura, que se codifican en varios octets.

      1
      1. Usuario anónimo > [Dal] Mensajes publicados 6122 Fecha de registro   Estado Colaborador Última intervención  
         

        Oh sí, perdón, al despertar pensé en no Unicode y escribí lo contrario!

        0