Estimado, mea culpa tambien,
no entendi lo que me estabas preguntando,
disculpe mi ignorancia -como decia el maestro-
el tema es cuando se hace el insert y lo que envio -???- sea un string,
que ahora estoy dudando segun lo que me decis,
asi que hay que probar / chequear otras cosas.


Entonces me respondo a mi mismo: inserto es un string de ython 2.x con
probablemente encoding utf-8 pero no es seguro.
>>>exacto,  hay que verificar esto

Te recomiendo usar objetos unicode en tu programa siempre que puedas.
>>tengo que leer lo que me mando Facundo sobre unicode

Porqué? Porque si no, no hay manera de saber a ciencia cierta que es esa
variable inserto. Fijate que la armás en base a algo que sacás del dbf.
Si lo que está en el dbf no es UTF-8, inserto no es UTF-8.

>>esto hay que verificarlo y casi seguro que no es UTF-8, 
ahora, si estoy usando 
# -*- coding: utf-8 *-* 
en el inicio del programa 
me garantiza que lo que envio en un string es utf-8 o 
como decis arriba convertir todo a objetos unicode y 
enviar unicode por el driver a la base, eso es lo que 
tengo que probar...

Gracias
Saludos
Mario 



On 10/21/2010 04:51 PM, QliX=D! [aka EHB] wrote:
Y si haces:
varname= unicode(databasedata)
forzas a q varname NO sea un string, si no que sea un unicode.
ej:


In [15]: s= unicode("máma") # mama con acento.

In [16]: print type(s).__name__
-------> print(type(s).__name__)
unicode

In [17]: p= "pápa" # Papa con Acento

In [18]: print type(p).__name__
-------> print(type(p).__name__)
str

Saludos.
EHB

2010/10/21 Roberto Alsina <ralsina@netmanagers.com.ar>:
  
On Thursday 21 October 2010 12:28:53 you wrote:
    
On Thursday 21 October 2010 11:18:32 Mario Cassanelli wrote:
      
estimado, lo tuyo es que no has leido mi mensaje,

 mande lo que tengo en la tabla,
 lo que muestra python y al insertar un registro
 en la tabla de postgresql se produce un mensaje que tambien
 esta en el mail que mande.
        
Fijate lo que te pregunto.

Vos pones en tu mensaje:

"""el problema ocurre al insertar el registro

con.query(inserto)"""

Bueno, dependiendo de qué es esa variable inserto te va a producir cosas
distintas, dependiendo de qué espere con.query que le pases.

Por ejemplo, si con.query espera que le pases los datos como un string
encodeado con el encoding correcto, necesitás que inserto sea un string
(en  python 2.x) o bytes (en python 3.x) con encoding utf-8.

Si query hace el encoding por su cuenta, necesita que le pases un objeto
unicode (en python 2.x) o un string (en python 3.x)

No es una pregunta ociosa, realmente es necesaria para saber que pasa.
      

Ahhhhh mea culpa! No habia visto el programa en la posdata.

Entonces me respondo a mi mismo: inserto es un string de ython 2.x con
probablemente encoding utf-8 pero no es seguro.

Te recomiendo usar objetos unicode en tu programa siempre que puedas.

Porqué? Porque si no, no hay manera de saber a ciencia cierta que es esa
variable inserto. Fijate que la armás en base a algo que sacás del dbf.

Si lo que está en el dbf no es UTF-8, inserto no es UTF-8.
_______________________________________________
pyar mailing list pyar@python.org.ar
http://listas.python.org.ar/listinfo/pyar

PyAr - Python Argentina - Sitio web: http://www.python.org.ar/

    
_______________________________________________
pyar mailing list pyar@python.org.ar
http://listas.python.org.ar/listinfo/pyar

PyAr - Python Argentina - Sitio web: http://www.python.org.ar/

  

-- 
-------------------------------------------------------------
INIDEP -Instituto Nac. de Investigación y Desarrollo Pesquero
SIOP - Sistema de Informacion Oceanografica Pesquera
Mario Cassanelli 
Tel: +54-223-486-2586 (int 107)
Paseo Victoria Ocampo Nro. 1
B7602HSA Mar del Plata - Argentina
-------------------------------------------------------------