Re: [Python-es] Error de codificación de texto en CGI

Chema Cortes pych3m4 en gmail.com
Mar Oct 20 11:14:31 CEST 2009


El día 20 de octubre de 2009 10:04, Oswaldo Hernández
<listas en soft-com.es> escribió:
> Chema Cortes escribió:
>>
>> El Lunes, 19 de Octubre de 2009 21:49:43 Oswaldo Hernández escribió:
>>> prueba:
>>>        print("Línea con tilde".encode("utf-8"))
>>
>> En python3 ya no vale esta solución. El método .encode() pasa de texto a
>> secuencia de bytes, con lo que print() usará la "representación" para
>> visualizar el objeto (en este caso b'L\xc3\xadnea con tilde' )
>>
>
> No entiendo porque no.
>
> El problema viene porque le esta enviando codificación unicode al
> apache/mod_python, y como ya se ha comentado en otras ocasiones unicode no
> es utf-8.
>
> El que en python3 se sustituyan los str por secuencias de bytes no veo
> porque tiene que afectar, ya que al fin y al cabo un string es eso, una
> secuencia de bytes.

En python3 han cambiado un poco las cosas (pienso que para mejor). Las
secuencias de bytes son de un tipo diferente ('bytes') que no tiene
conversión implícita a 'str'. El print(), como no tiene cómo convertir
'bytes' a 'str', usa su representación, en este caso es b'...' con los
escapes adecuados.
_______________________________________________
Lista de correo Python-es 
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes





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