[Fwd: Re: Codificación de BBDD]

From: "I(dot)N(dot)T(dot) - Programación" <dpto(dot)programacion(at)grupo-int(dot)com>
To: POSTGRESQL - Ayuda <pgsql-es-ayuda(at)postgresql(dot)org>, hmiranda(at)gmail(dot)com
Subject: [Fwd: Re: Codificación de BBDD]
Date: 2009-03-26 12:26:58
Message-ID: 49CB7492.8030706@grupo-int.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

La variable de ambiente la ha de establecer el administrador del sistema ó lo puedo hacer yo desde pg_admin?

export LANG=es_ES.UTF8

-------- Mensaje original --------
Asunto: Re: [pgsql-es-ayuda] Codificación de BBDD
Fecha: Wed, 25 Mar 2009 20:25:06 -0400
De: Horacio Miranda <hmiranda(at)gmail(dot)com>
Para: I.N.T. - Programación <dpto(dot)programacion(at)grupo-int(dot)com>
CC: POSTGRESQL - Ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Referencias: <49CA51C1(dot)4000309(at)grupo-int(dot)com>

2009/3/25 "I.N.T. - Programación" <dpto(dot)programacion(at)grupo-int(dot)com>
>
> Buenas tardes,
>
> He instalado PostgreSQL 8.3.6 bajo linux
>
> Cuando genero una nueva base de datos me da por defecto como codificado SQL_ASCII
>
> Como trabajo en español lo cambio a LATIN1
>
> Genero una tabla del tipo:
>
> CREATE TABLE tratamientos
> (
> id int4 DEFAULT nextval('"tratamientos_seq"'::text) NOT NULL,
> tratamiento_generico varchar(200),
> CONSTRAINT tratamientos_pkey PRIMARY KEY (id)
> ) WITH OIDS;
>
> E inserto un registro:
>
> INSERT INTO tratamientos (id, tratamiento_generico) VALUES (1, 'SEÑOR / SEÑORA');
>
> Cuando genero una consulta del tipo:
>
> SELECT lower(tratamiento_generico) FROM tratamientos;
>
> El resultado del campo 'tratamiento_generico' es:
>
> seÑor / seÑora
>
> No pasa a minúsculas la Ñ...
>
> ¿Qué otro tipo de codificación necesitaría para mi base de datos lo haga correctamente?
>
> He probado con SQL_ASCII, LATIN9, ... y nada!
>
> Gracias a todos,
>
> Luis
>
> --
> TIP 9: visita nuestro canal de IRC #postgresql-es en irc.freenode.net

Has probado con UTF8 ?
export LANG=es_ES.UTF8 como variable de ambiente;

createdb test -E UTF8
test=# INSERT INTO tratamientos (id, tratamiento_generico) VALUES (1,
'SEÑOR / SEÑORA');
INSERT 460128 1
test=# select * from tratamientos ;
id | tratamiento_generico
----+----------------------
1 | SEÑOR / SEÑORA
(1 fila)

test=# SELECT lower(tratamiento_generico) FROM tratamientos;
lower
----------------
señor / señora
(1 fila)

Yo lo probe y me funciono, mi ambiente de prueba es un gentoo con postgresql-8.3
xps ~ # psql -V
psql (PostgreSQL) 8.3.5
incluye soporte para edición de línea de órdenes

Uhm, en castellano bonito :D, espero que te sirva esta información.
--
Saludos,
Horacio Miranda Aguilera.
RedHat Certified Engineer
DBA Oracle - Large databases
(56 99) - 8841727

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message mjgacto 2009-03-26 12:28:46 Lentitud en la conexion
Previous Message Miguel Beltran R. 2009-03-26 04:06:04 Re: OT: mejores practicas