No se pueden mostrar correctamente los acentos en VSCode 2022
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
-
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
-
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-
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.
-
