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 <[email protected]>
Para: I.N.T. - Programación <[email protected]>
CC: POSTGRESQL - Ayuda <[email protected]>
Referencias: <[email protected]>
2009/3/25 "I.N.T. - Programación" <[email protected]>
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