Código de página y caracteres especiales en línea de comandos
Publicado por wildfandango (6 intervenciones) el 06/07/2017 10:19:20
Hola a Todos.
Después de muchas pruebas y mucho leer me estoy volviendo loco con lo típico... un problema con el que no contaba, que parece superfácil y que por mucho que Googleo no le encuentro solución...
El caso es que tengo un programe de línea de comandos para Windows hecho en Python (que compilo con py2exe)
El programa lo he simplificado al máximo (con Python eso es fácil... :P) es este:
Si recibe un parámetro lo imprime por pantalla y si no recibe nada imprime esa cadena de caracteres...
A ese programa lo invoco desde un fichero .cmd muy sencillo:
Pues aquí es donde la cosa se lía, yo lo que esperaría que sucediese es obtener una respuesta doble del tipo:
(la primera vez me devolvería el parámetro y la segunda imprimiría la cadena directamente desde Python...)
Pues lo que me devuelve es esto (sé/supongo que tiene que ver con el código de página pero no sé por donde tirar):
Les agradecería ayuda sobre este tema y la forma correcta de tratar los caracteres especiales en estas circunstancias... Gracias...
Después de muchas pruebas y mucho leer me estoy volviendo loco con lo típico... un problema con el que no contaba, que parece superfácil y que por mucho que Googleo no le encuentro solución...
El caso es que tengo un programe de línea de comandos para Windows hecho en Python (que compilo con py2exe)
El programa lo he simplificado al máximo (con Python eso es fácil... :P) es este:
1
2
3
4
5
6
7
8
# -*- coding: Windows-1252 -*-
import sys
if __name__ == '__main__':
if len(sys.argv) > 1:
print sys.argv[1] + "\n"
else:
print "€çÇñÑâÂãÃàÀáÁêÊèÈéÉîÎìÌíÍôÔòÒóÓõÕûÛúÚùÙ\n"
Si recibe un parámetro lo imprime por pantalla y si no recibe nada imprime esa cadena de caracteres...
A ese programa lo invoco desde un fichero .cmd muy sencillo:
1
2
3
"test.exe" "€çÇñÑâÂãÃàÀáÁêÊèÈéÉîÎìÌíÍôÔòÒóÓõÕûÛúÚùÙ"
"test.exe"
pause
Pues aquí es donde la cosa se lía, yo lo que esperaría que sucediese es obtener una respuesta doble del tipo:
1
2
3
C:\>€çÇñÑâÂãÃàÀáÁêÊèÈéÉîÎìÌíÍôÔòÒóÓõÕûÛúÚùÙ
C:\>€çÇñÑâÂãÃàÀáÁêÊèÈéÉîÎìÌíÍôÔòÒóÓõÕûÛúÚùÙ
(la primera vez me devolvería el parámetro y la segunda imprimiría la cadena directamente desde Python...)
Pues lo que me devuelve es esto (sé/supongo que tiene que ver con el código de página pero no sé por donde tirar):
1
2
3
C:\>Ã■├▒ðÈ-Ê+Ë+▀-█-Ì+┌+»+²ª¦-Â╚=╩¥╦ºi╣ªÀ+¿+
C:\>ÇþñÐÔ┬Ò├Ó└ß┴Û╩Þ╚Ú╔¯╬ý╠Ý═¶È‗ʾ˧ı¹█·┌¨┘
Les agradecería ayuda sobre este tema y la forma correcta de tratar los caracteres especiales en estas circunstancias... Gracias...
Valora esta pregunta


0