Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/02/2010, 03:21
yosoyhmc
 
Fecha de Ingreso: febrero-2010
Mensajes: 1
Antigüedad: 14 años, 10 meses
Puntos: 0
Cambiar codificación en Python 2.5 para leer un campo de una BD de Access.

Hola, tengo el siguiente problema: tengo que migrar unos datos de una bd hecha en access a otra hecha con MySQL.

El problema viene cuando intento leer un campo de la BD de access que contiene carácteres tipo 'º' y 'ª' y demás cosas parecidas.

Este es el código que uso:

rs=Dispatch(r'ADODB.Recordset')
rs.ActiveConnection=conn
rs.CursorLocation = 3
rs.Open("SELECT * FROM Modelos")


while not rs.EOF:


dato=rs.fields("Notas")

print dato

rs.MoveNext()


las líneas de la BD que no contienen carácteres especiales me las lee bien, pero las otras me da este error:

Traceback (most recent call last):
File "C:\Python25\Lib\site-packages\pythonwin\pywin\framework\scriptutils.py" , line 307, in RunScript
debugger.run(codeObject, __main__.__dict__, start_stepping=0)
File "C:\Python25\Lib\site-packages\pythonwin\pywin\debugger\__init__.py", line 60, in run
_GetCurrentDebugger().run(cmd, globals,locals, start_stepping)
File "C:\Python25\Lib\site-packages\pythonwin\pywin\debugger\debugger.py", line 631, in run
exec cmd in globals, locals
File "C:\Documents and Settings\Héctor\Escritorio\PruebaLeerYseparar.py", line 59, in <module>
print dato
File "C:\Python25\Lib\site-packages\win32com\client\dynamic.py", line 187, in __str__
return str(self.__call__())

UnicodeEncodeError: 'ascii' codec can't encode character u'\xaa' in position 20: ordinal not in range(128)


alguna solución? gracias de antemano