From: | Francisco Olarte <folarte(at)peoplecall(dot)com> |
---|---|
To: | Kernel <jucabapa(at)gmail(dot)com> |
Cc: | Ayuda <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: Encoding griego |
Date: | 2016-01-08 16:27:10 |
Message-ID: | CA+bJJbw3k839yKi2++FnsBfkx=HkM5RpNrCSotiD+scEYQ1W1Q@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
2016-01-08 15:24 GMT+01:00 Kernel <jucabapa(at)gmail(dot)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(at)postgresql(dot)org)
Para cambiar tu suscripcin:
http://www.postgresql.org/mailpref/pgsql-es-ayuda
From | Date | Subject | |
---|---|---|---|
Next Message | MARIA ANTONIETA RAMIREZ SOLIS | 2016-01-08 17:04:53 | Re: CAMBIO DE PASSWORD DEL USUARIO POSTGRES DE INSTALACION |
Previous Message | Alvaro Herrera | 2016-01-08 15:47:57 | Re: consulta con pg_query lentísima |