2016-01-08 15:24 GMT+01:00 Kernel <jucab...@gmail.com>: > Tengo la necesidad de introducir caracteres griegos en la base de datos. > y me estoy volviendo un poco loco. > > Se trata del etiquetado de productos en idiomas diferentes > > comento lo que hago haber donde tengo el problema > > con pgadmin, > > set client_encoding='ISO-8889-7'; > Insert into prueba values ('ξοσε 14>00') > > si hago la select con el mismo encoding bien, pero sino me da error. > > Entiendo que todo me lo esta guardando en UTF8
Si la BD esta en UTF-8 ( como parece indicar el trozo que pegaste mas abajo ) te lo estara guardando asi. > ¿Como se trabaja con distintos encoding en la misma tabla?, posiblemente > tenga que escribir en chino tambien No puedes ( igual puedes, pero no lo necesitas ). Lo que necesitas es un encoding que te permita guardar caracteres chinos y griegos, por ejemplo el utf-8 que ya usas. > ¿a la ahora de recuperar los datos como lo hago?, ¿necesito guardarme el > encoding con el que se guardo? No, la base de datos te los convierte. Si por ejemplo > No se cual es la manera adecuada de trabajar > Maquina windows con español de españa Aqui ya no se como, abandone windows en el 2001 y, aunque por dentro usa unicode, es uno de los sistemas mas complejos en el lado de cliente. Te cuento como lo hago yo. Las DB las pongo en utf-8. Luego pongo mi terminal en el encoding adecuado, y arranco el psql con ese encoding, y simplemente los mando. Normalmente uso latin-1 ( pal ejpañol ) o utf-8, y simplemente pongo ese client-encoding y se los mando. Normlamente para no liarme lo que hago es utilizar utf-8 siempre en la terminal y en las sesiones interactivas, y solo uso otros encoding en scripts. Y me funciona bien, p.e. puedo hacer un .sql en latin1 que inserta datos, ejecutarlo, reconectar en utf-8 y recuperarlos con el select. El problema en windows suele venir del encoding de la terminal, el codepage creo que lo llamaban. Ten en cuenta que si tu le dices a la conexion que tu client-encoding es utf-8 eso no afecta al terminal, lo que hace es decirle al postgres que le vas a mandar los datos en ese encoding, y que el te los mande asi de vuelta, luego si estas en interactivo tienes que asegurarte de que el programa que usas los mande asi. psql, p.e., manda lo que le llega del terminal, y manda lo que le llega directo a la terminal. Para evitarte problemas lo suyo es usar scripts, que los editores te suelen dejar salvarlo en el encoding adecuado. Si usas, como acabo de ver, pgadmin, ahi no te puedo ayudar mucho, nunca uso ese tipo de programas precisamente por problemas de estos, no se donde ponerles los encodings. Me imagino que tu problema es que el pgadmin esta configurado para el ISO-8889-7 ( que no tengo ni idea de que es ) con lo que tienes que usar ese client encoding. Prueba a configurar el pgadmin Y el client encoding a utf-8 y te deberias quitar los problemas. Francisco Olarte. - Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org) Para cambiar tu suscripci�n: http://www.postgresql.org/mailpref/pgsql-es-ayuda