[pyar] Re: Re: [pyar] Problemas Con Tipos de Codificacion en Python

Chema Cortes pych3m4 en gmail.com
Jue Jul 23 11:20:23 CEST 2009


El 23 de julio de 2009 00:26, Carlos mauro<unimauro en gmail.com> escribió:
> En mi terminal me resulta lo siguiente:
>
>>>> p="Externado: Pediatr�a "
>>>> p
> 'Externado: Pediatr\xef\xbf\xbda '
>
>...
>

> Mi intención es la siguiente: Estoy extrayendo datos de un Servidor
> SQLSERVER en windows y necesito enviar esa información una base de datos de
> MYSQL en linux. Logro hacer el proceso pero se mantienen los problemas con
> los carácteres.

Lo primero sería distinguir entre unicode y codificación utf8, ya que
se suele confundir mucho. El sqlserver te envía la información
codificada, según parece, en utf8 (tal vez sea ucs2) y se debería
pasar a una cadena unicode:

  unicode(p, 'utf8')


Ésto es todo lo que python puede hacer por tí. Si no ves en la cónsola
el resultado esperado puede ser debido a dos motivos:

- el sqlserver no te codifica bien la información. En concreto, la
cadena '\xef\xbf\xb' que te da sqlserver no se corresponde con la
codificación utf8 de la letra 'í', que sería '\xc3\xad'. Te está dando
otra cosa.

- la terminal de texto no está configurada apropiadamente con la
codificación de la cadena


Desconozco sqlserver, pero en bases de datos se debe ajustar la
codificación de cliente y servidor. La del servidor está fijada, más o
menos; pero la codificación del cliente se debería poder ajustar en el
momento de conectar.
------------ próxima parte ------------
_______________________________________________
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