Re: consulta sobre unicode

From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: Diego Gil <listas(at)adminsa(dot)com>
Cc: Paul Gallegos <paul_ic(at)hotmail(dot)com>, PostgreSQL ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: consulta sobre unicode
Date: 2007-06-29 03:44:38
Message-ID: 20070629034438.GY32626@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Diego Gil escribió:
> El vie, 29-06-2007 a las 03:17 +0000, Paul Gallegos escribió:
> > > no necesitas desinstalar, sacas un dump de la base.
> > > la borras con DROP DATABASE y creas una nueva con
> > > CREATE DATABASE ... WITH ENCODING 'latin1';
> >
> > En el pgAdminIII me muestra para mi base de datos con problemas:
> >
> > Codificado: LATIN1
>
> Si pgadminII te dice que es LATIN1, no seria el problema del SQL_ASCII.
>
> Porque no probas creando una nueva base de datos, con pgAdminIII,
> indicando que es LATIN1, creas una tabla simple e ingresas un nombre con
> acentos o eñes y ves que se haya grabado OK.
>
> Luego te conectas a esa bd con psql, ves que encoding dice tener con
> \encoding (seguramente será LATIN1) y ves los datos ingresados con
> pgAdminIII (un select). Luego ingresas (un insert) más datos con acentos
> o eñes pero desde el psql y los ves desde pgadminIII y nos cuentas que
> pasó.

Ojo: el truco es siempre usar en client_encoding el valor que tiene la
aplicacion que estas usando. Si abres una ventana de interprete de
ordenes (erroneamente llamado interprete de comandos) y abres psql en
el, debes usar \encoding para indicarle a la BD la codificacion que
tiene la ventana del interprete. Si no lo haces, entonces lo mas
probable es que ingreses datos erroneamente, y que al extraerlos
posteriormente en otra aplicacion se vean mal.

Obviamente si los insertas y los examinas en la misma aplicacion,
siempre se veran bien! Aun cuando el \encoding este erroneamente
definido.

La idea de definir \encoding es que el servidor puede recodificar el
string, desde la codificacion que tiene el cliente, hacia la
codificacion que tiene el servidor. Asi, cuando abras otro cliente, el
servidor recodificara a la codificacion de este otro cliente, y tambien
se vera bien.

Es muy posible que pgAdmin este usando, Win1252 (por decir algo) y psql
este usando Latin1. Si no lo configuras correctamente es obvio que los
datos que ingreses en uno se veran mal en el otro.

--
Alvaro Herrera http://www.amazon.com/gp/registry/DXLWNGRJD34J
"El hombre nunca sabe de lo que es capaz hasta que lo intenta" (C. Dickens)

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Diego Gil 2007-06-29 03:48:42 Re: consulta sobre unicode
Previous Message Alvaro Herrera 2007-06-29 03:39:54 Re: consulta sobre unicode