From: | Miguel Rodríguez Penabad <penabad(at)gmail(dot)com> |
---|---|
To: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Busqueda con carácteres latinos |
Date: | 2007-06-26 16:16:18 |
Message-ID: | 95335e4e0706260916q7dc31875s536b49c112cf6d37@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
El 26/06/07, Sizu <pixradio(at)gmail(dot)com> escribió:
> Saludos a todos. Quizá esto sea un tanto OFFTOPIC pero espero alguien sepa
> darme una luz.
>
> Estoy añadiendo un módulo de búsqueda a una aplicación hecha en PHP. Mi
> problema es que al enviar una cadena de caracteres latinos no regresa
> resultados, sin embargo enviándola como HTML sí los encuentra; esto no
> funciona: "atención"; esto sí funciona: "atención".
Vamos a ver si te entiendo: En la base de datos hay almacenados textos
que pueden contener caracteres especiales para HTML (que no latinos,
porque "<" no es latino y en HTML tienes que poner < a no ser que
sea para empezar un tag).
Cuando mandas una consulta,
select ... where campo like '%atención%'
no funciona, y
select ... where campo like '%atención%'
si que funciona.
Pues entonces, si es así, yo creo que no tiene nada que ver ni con
postgres, ni encodings, ni siquiera con el gestor de BD que uses.
El problema es que estás almacenando ó y no ó, por lo que el
LIKE nunca va a funcionar buscando ó. Lo que yo te sugeriría, y es una
"chapuza", es que antes de construir la sentencia con el LIKE,
conviertas la cadena de caracteres con HTMLEncode o HTMLSpecialChars o
como narices se llame la función :)
para que transforme la ó en ó ANTES de ejecutar la consulta.
Eso si, si tienes alguna página almacenada con "ó" no la encontrará.
Saludos
From | Date | Subject | |
---|---|---|---|
Next Message | Miguel Rodríguez Penabad | 2007-06-26 16:19:32 | Re: OT , Obtener ID (PK) dese código VB6 con odbc |
Previous Message | Yoel Mc Lennan | 2007-06-26 16:02:25 | OT , Obtener ID (PK) dese código VB6 con odbc |