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)
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 |