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 <hmira...@gmail.com>
Para:   I.N.T. - Programación <dpto.programac...@grupo-int.com>
CC:     POSTGRESQL - Ayuda <pgsql-es-ayuda@postgresql.org>
Referencias:    <49ca51c1.4000...@grupo-int.com>



2009/3/25 "I.N.T. - Programación" <dpto.programac...@grupo-int.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


Responder a