Hola, bueno, como mencioné en el título, quisiera saber como mostrar el signo de Euro (€) en Batch. Quiero esto, porque estoy haciendo un encriptador (lo postearé cuando lo termine), ya intenté plasmarlo en un .txt, y nada, no funcionó... Probé con la fuente "Terminal" del notepad, y tampoco funcionó...
Gracias por leer!
Igual esto te sirve https://stackoverflow.com/questions/18813495/using-non-ascii-characters-in-a-cmd-batch-file (https://stackoverflow.com/questions/18813495/using-non-ascii-characters-in-a-cmd-batch-file)
No hallé solución. Pero gracias...
Cita de: .:Xx4NG3LxX:. en 8 Marzo 2020, 01:30 AM
No hallé solución. Pero gracias...
Haber, el problema es que ese símbolo es un carácter que no está dentro del ASCII común/estándar, para solucionarlo deberías cambiar el cmd a UTF-8.
Prueba añadiendo
chcp 65001 antes de impartir el carácter.
En el código de prueba, puse:
@echo off
chcp 65001
Echo €
pause
Y la salida es...
Citar
Pβgina de c¾digo activa: 65001
Presione una tecla para continuar . . .
Luego lo intenté con
Lucida Console como fuente, y esta fue la salida.
Citar
Pβgina de c¾digo activa: 65001
ٱ
Presione una tecla para continuar . . .
Lo curioso, es que lo volví a intentar, y me mostró esto:Citar
El sistema no puede escribir en el dispositivo especificado.
Presione una tecla para continuar . . .
Estoy un poco confundido.
Saludos,
- Si vas a imprimir caracteres desde un archivo Batch debes de guardar dicho archivo con la codificación UTF-8, dependiendo de tu editor de texto la opción de guardar bajo cierta codificación debe estar disponible.
- Para que se entiendan tanto el archivo batch como la CMD ambos deben "hablar el mismo idioma" o por lo menos el que va a interpretar o escuchar tiene que abarcar una codificación que incluya a la otra. Por ejemplo si guardas tu Batch como utf-8 pero la Cmd solo entiende Ansi (Windows 1252) no se va a interpretar bien.
El siguiente ejemplo me funciona correctamente, primero se guarda la codificación actual en una variable _chcp, luego cambia la codificación a utf-8 e imprime €uro, al final restablece la codificación.
@Echo Off
For /F "tokens=5" %%a In ('ChCp') Do Set _chcp=%%a
ChCp 65001 >nul
Echo €uro
ChCp %_chcp% >nul
Pause
Perdón por la ausencia. He probado el script, pensé que funcionaria, y me dijo que no podía escribir en el dispositivo especificado.