RV: [pgsql-es-ayuda] Problemas con función upper()

From: Gerardo Castillo <gcastillo(at)ice(dot)co(dot)cr>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: RV: [pgsql-es-ayuda] Problemas con función upper()
Date: 2004-06-25 19:19:57
Message-ID: 0HZV00ID1PJORA@ice.co.cr
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Sí, Mi base de datos esta con codificación UTF-8.

Tengo una aplicacion web esta hecha con Java(a la cual también indico conectarse con UTF-8), y almacené con ella en una columna de una tabla el valor 'áéíóú-ÁÉÍÓÚ'

Pruebas desde una consola SQL:
1. Desde la consola especifico que la conexión sea UTF-8: SET CLIENT_ENCODING TO 'UNICODE';

2. Luego hago un select de la columna y me despliega el siguiente valor : 'áéíóú-ÁÉÍÓÚ'

3. Pero cuando utilizo la función upper con la columna resulta ser lo mismo : 'áéíóú-ÁÉÍÓÚ'

Entonces cuando
x=á,y=á
y filtró con
WERE upper(x) like upper(y) + "%"
el filtro funciona bien.

PERO cuando
x=á,y=Á
y filtro con
WERE upper(x) like upper(y) + "%"
no sirve pq el upper('caracter_especial') no hace nada.

Ya intente también hacer un SELECT upper('á'); desde una base de datos en LATIN1 y tampoco me sirvió.

No he logrado encontrar documentación al respecto, y a simple vista me parece que la función upper no sabe de la codificación y si no entiende algo, lo deja así, pero bueno, yo soy nuevo en esto, talvez es algo de configuración.

He tratado leer la documentación de postgres a ver si doy en el clavo, pero no lo he conseguido.
Te agradecería si me puedes ayudar.

Gracias,
Gerardo.

-----Mensaje original-----
De: Alvaro Herrera [mailto:alvherre(at)dcc(dot)uchile(dot)cl]
Enviado el: Viernes, 25 de Junio de 2004 11:21 a.m.
Para: Gerardo Castillo
CC: pgsql-es-ayuda(at)postgresql(dot)org
Asunto: Re: [pgsql-es-ayuda] Problemas con función upper()

On Thu, Jun 24, 2004 at 10:29:21AM -0600, Gerardo Castillo wrote:

> Para dar la habilidad a un filtro de búsqueda de que no sea "case
> sensitive", comparo lo que digita el usuario en mayúsculas con los
> datos de la columna también en mayúscula utilizando la función upper.
>
> Mi problema es la función upper se topa con caracteres especiales
> como 'á'.
> Ej:
> select upper('a'); me da como resultado A, lo cual esta muy bien,
> pero select upper('á'); me da como resultado á, en lugar de Á.

Estas usando codificacion Unicode (UTF-8)?

--
Alvaro Herrera (<alvherre[a]dcc.uchile.cl>) "The eagle never lost so much time, as when he submitted to learn of the crow." (William Blake)

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Mario Soto 2004-06-25 20:08:57 Re: ayuda con consulta
Previous Message Alvaro Herrera 2004-06-25 17:20:49 Re: Proble