acentos en MSDOS

Chema Cortes chemacortes en wanadoo.es
Vie Oct 18 11:46:59 CEST 2002


> Parece que al menos me voy aclarando con el origen
> del problema. Al final, todo es culpa de M$Bill :-)

Esa es una conclusión que me suena mucho :-D

> He vuelto a probar el programa que me propusieron
> en comp.lang.python y ahora me funciona (no entiendo
> por qué antes no me iba, pero me da igual). El caso
> es que si en la definición
>     def write(self, s):
>         self.so.write(s.decode('latin-1').encode('cp850'))
> pongo cp850 me escribe bien los acentos en MSDOS
> pero en IDLE lo hace mal. Si pongo cp1252 lo escribe
> bien en IDLE, pero mal en MSDOS.

Por aclarar el tema, si queremos tener la cadena "Hola, Ramón", en IDLE sería equivalente a la cadena "Hola, Ram\xf3n", mientras que en msdos sería "Hola, Ram\xa2n". Aunque semánticamente sea la misma cadena, en realidad se trata de dos cadenas diferentes.

No hay una solución "transparente" para ofrecérsela a tus alumnos. Con esto quiero decirte que se podría hacer algún truco con el sys.stdout como el que te han ofrecido en la python-list. Pero estos trucos no funcionarán con IDLE y otros IDEs debido a que ellos también modifican sys.stdout.

A parte de esto, creo que tus alumnos deben ser conscientes de cuál es el problema, que no es exclusivo del lenguaje python, y del porqué estamos presionando en la comunidad python para que se emplee el unicode como base para la codificación.

Si no quieres complicar a tus alumnos, simplemente edita en MsDos para ejecutar en MsDos, ó ejecuta en IDLE si editas en IDLE.

> ¿Se podría modificar la asociación de archivos de Windows,
> de manera que cuando se hace doble-clic en un archivo
> se cargara un programita que cambiara el código de página?

Sí que puedes. Crea un fichero bat con los cambios de página (comando mode). Sobre un fichero .py pulsa el botón derecho de ratón junto con la tecla mayúsculas. Verás la opción "Abrir con...", desde la que eliges el fichero bat que has creado. Pero ya te advierto que los cambios sólo serán efectivo en la sesión MsDos que abres, y que nada afectará a los programas windows.

Saludos,
-- 
Chema Cortes (chemacortes en wanadoo.es)
_____________________________________________________________________
Horas ilimitadas para leer y enviar correos con Tarifa Plana Wanadoo 
¡¡ desde las 3 de la tarde!!
Compruébalo en http://www.wanadoo.es/acceso-internet





Más información sobre la lista de distribución Python-es