Skip site navigation (1) Skip section navigation (2)

Re: UTF8 compatible con LATIN1 pgsql 8.3

From: Gabriel Ferro <gabrielrferro(at)yahoo(dot)com(dot)ar>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: UTF8 compatible con LATIN1 pgsql 8.3
Date: 2009-04-22 21:27:30
Message-ID: 332542.61545.qm@web52106.mail.re2.yahoo.com (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
Ojo, si no me equivoco, tienes que ver por varios lados
-la base
-el client encoding
-la configuracion de tu maquina server (creo que los LOCATE)
-la configuracion de tu aplicacion... pgadmin por ejemplo

Alvaro, Gunnar y otros muchachos saben un toco de eso...

Gunnar alguna vez me mando lo de abajo (como veras seguro uso otro encoding porque se despelotaron los acentos de su mail...ajajajaaj).
Saludos.


*************************************
Cada elemento donde toques tus datos tiene que estar
consciente de la codificación que usa, y hacérselo saber a los
demás. ¿Qué significa esto?

- Usaste UTF8 para la base de datos. Eso es maravilloso: Puedes
  guardar el caracter que se te ocurra sin ningún problema. NO cambies
  esto. 

- Pero hay un programa que tiene que hablar con la BD, que sólo se
  encarga de guardar y entregar los datos. No mencionas qué estás
  usando (asumamos que es el psql). Esta aplicación habla con la BD a
  través de un canal, y ambos extremos del canal deben usar la misma
  codificación. No, esto no significa que tu aplicación requiera ser
  también UTF (aunque entre más homogeneo sea tu entorno menos broncas
  tendrás). Pero bueno, si el encoding de tu sistema es win866, el
  «set client_encoding to 'WIN866'» es lo mejor.

- Por último, tu aplicación tiene que leer el archivo en cuestión, y
  este archivo tiene también su propia codificación. Y tu aplicación
  tiene que estar consciente de ello - o debes cambiar la codificación
  de tu archivo para que concuerde.

Ahora, algo que debes recordar para todas las codificaciones a
excepción de las Unicode (UTF8, UTF16, UTF32, UCS4): No todos los
caracteres son representables en todas las codificaciones. Digo esto
porque me llama la atención la codificación que usas: 

    http://en.wikipedia.org/wiki/Code_page_866

    CP866 is a Cyrillic code page to be used with MS-DOS. It is based
    on the "alternative character set" of GOST 19768-87. The code was
    widely used during MS-DOS era because it preserves the
    pseudographic symbols (unlike Windows-1251) and maintains
    alphabetical order of (non-contiguous) Cyrillic letters (unlike KOI8-R).

Ahora, ¿por qué estás viendo un ║ donde quieres un º? Bueno, asómate a
la página donde está la codificación pre-UTF más común en el mundo de
idiomas europeo-occidentales:

    http://en.wikipedia.org/wiki/ISO/IEC_8859-1

El caracter 186 en ISO 8859-1 es º, y el mismo caracter en CP866 es
â•‘. Claro, en Unicode son caracteres diferentes (U+00BA y U+2551
respectivamente). Tu base de datos seguramente contiene â•‘, porque
partió del supuesto que la aplicación estaba hablando en CP866.
****************************



      Yahoo! Cocina
Recetas prácticas y comida saludable
http://ar.mujer.yahoo.com/cocina/

In response to

pgsql-es-ayuda by date

Next:From: Alvaro HerreraDate: 2009-04-22 22:15:07
Subject: Re: pg_dump con campos bytea
Previous:From: Edwin QuijadaDate: 2009-04-22 20:06:47
Subject: pg_dump con campos bytea

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group