Codificacion y nombres de archivos

Oswaldo Hernández listas en soft-com.es
Mar Jun 19 13:07:51 CEST 2007


Gabriel Genellina escribió:
> En Mon, 18 Jun 2007 15:58:15 -0300, Oswaldo Hernández 
> <listas en soft-com.es> escribió:
> 
>> try:
>>         # comprobar si ya esta en la codificacion destino
>>         if src.encode(COD_DESTINO) == src:
> 
> Esta es la linea donde se usa implicitamente el defaultencoding, y por 
> eso solo te funciona en utf-8.
> src es string. src.encode primero convierte internamente string a 
> unicode usando el default (modificado a utf8), luego convierte unicode a 
> string usando COD_DESTINO.
> O sea, en realidad esta haciendo:
> if src.decode(sys.getdefaultencoding()).encode(COD_DESTINO) == src:
> if src.decode("utf-8").encode(COD_DESTINO) == src:
> 

Esto del encode y decode es un lio, pero parece que voy entendiendolo mejor.
He modificado la linea en cuestion a
	if src.decode(COD_DESTINO).encode(COD_DESTINO):

He vuelto a reconfigurar el site.py para volver a ponerlo como ascii y funciona bien con cualquiera 
de las dos codificaciones.

Adjunto el script tal como ha quedado.

Gracias de nuevo.

-- 
*****************************************
Oswaldo Hernández
oswaldo (@) soft-com (.) es
*****************************************
------------ próxima parte ------------
An embedded and charset-unspecified text was scrubbed...
Name: recodifica-nombres.py
URL: <http://mail.python.org/pipermail/python-es/attachments/20070619/bb8291a7/attachment.ksh>
------------ próxima parte ------------
_______________________________________________
Python-es mailing list
Python-es en aditel.org
http://listas.aditel.org/listinfo/python-es


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