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 -- TIP 4: No hagas 'kill -9' a postmaster
