problema con codificación ordinal not in range(128)
Daniel Muñiz Fontoira
dmunhiz en gmail.com
Mie Dic 6 08:59:12 CET 2006
Gracias Jesús, pero ese no es el error ya que ya está así: # -*- coding:
iso-8859-15 -*- y las dos funciones están en el mismo fichero.
Hoy por la mañana despues de descansar un poco (ayer estuve horas con
este error tonto)
Finalmente se me dió por mirar el tipo de la variable donde almacenava
las cadenas, "textores" (type(textores)), donde no fallaba era str y
curiosamente donde sí era unicode.
Que raro, me dije, ya que las dos llevan cadenas. Pues bien, la
diferencia entre la función que no daba error y la que sí era que en la
que no fallaba la variable antes de comenzar a rellenarla con texto
la inicié con "" es decir:
textores=""
Esto hace que:
type(textores) = str
Mientras que si comienzo:
textores= "<tr><td>"
type(textores) = unicode
En mi caso, para que todo vaya bien textores ha de ser str por lo que
"solo" tuve que poner al principio
textores=""
En definitiva, esto:
textores=""
textores = textores + "<tr><td>" +
rs("clubdesc").Value.encode('iso-8859-15') + "</td>\n"
Ya no da error.
Nota : rs("clubdesc").Value.encode('iso-8859-15') #esta forma que usé
para recoger los datos con eñe y acentos de la base de datos.
Saludos y gracias!
dmunhiz
Jesus Rodriguez escribió:
> en la primera linea del programa pones:
>
> # -*- coding: iso-8859-15 -*-
>
> y deberia de funcionar
>
> 2006/12/5, Daniel Muñiz Fontoira <dmunhiz en gmail.com>:
>>
>> Hola:
>> De verdad que he mirado y luchado pero no se que mas hacer.
>> La cuestión es
>> esta linea vá bien e nuna función
>>
>> textores = textores + "<tr><td>" +
>> rs("clubdesc").Value.encode('iso-8859-15') + "</td>\n"
>>
>> en otra función la misma linea da el error: UnicodeDecodeError: 'ascii'
>> codec can't decode byte 0xd1 in position 20: ordinal not in range(128)
>>
>> Sin embargo si el rs("clubdesc").Value.encode('iso-8859-15') lo paso a
>> una variable limpia no hay problema.
>>
>> resultado = rs("clubdesc").Value.encode('iso-8859-15') #esto no falla
>>
>> textores = textores + resultado # esto da error de codificación
>>
>>
>>
>> Gracias de antemano
>>
>> win: wp
>> python 2.4
>> wxpython
>> boa 0.52
>> _______________________________________________
>> Python-es mailing list
>> Python-es en aditel.org
>> http://listas.aditel.org/listinfo/python-es
>>
> _______________________________________________
> Python-es mailing list
> Python-es en aditel.org
> http://listas.aditel.org/listinfo/python-es
>
--
Remitente:
Daniel Muñiz Fontoira
/Eu uso software libre <http://www.gnu.org/philosophy/free-sw.gl.html>/
Más información sobre la lista de distribución Python-es