Foros del Web » Programando para Internet » ASP Clásico »

Buscador con Acentos (á,é,ñ, etc.)

Estas en el tema de Buscador con Acentos (á,é,ñ, etc.) en el foro de ASP Clásico en Foros del Web. Hola, como sabrán nuestro idioma Castellano es muy rico y me parece importante escribirlo correctamente, con sus ACENTOS, EÑES , etc... Resulta que esto es ...
  #1 (permalink)  
Antiguo 19/04/2002, 10:06
 
Fecha de Ingreso: abril-2002
Mensajes: 1
Antigüedad: 23 años
Puntos: 0
Buscador con Acentos (á,é,ñ, etc.)

Hola, como sabrán nuestro idioma Castellano es muy rico y me parece importante escribirlo correctamente, con sus ACENTOS, EÑES , etc... Resulta que esto es toda una complicación a la hora de hablar de internet...
Bien mi consulta es la siguiente: Tengo una base de datos cargados registros con ACENTOS y EÑES de dos formas literal (á,ñ, etc...) y como los lee la web (&aacute, &ntilde, etc...) bien el tema es que cuando realizo una busqueda desde una casilla de texto cuando el usuario quiere buscar la siguiente palabra clave: Sáenz Peña El servidor manda la consutla como ?texto=S%E1enz+Pe%F1a , o sea desaparece la letra "á" y la "ñ" por consiguiente no encuentra nada...
Solución 1: Se me ocurrio cargar la base de datos como &aacute, y &ntilde, etc... pero no logro generar esa consulta en ASP directamente... Saben como hacerlo?
Solución 2: Se me ocurre que tal vez haya una solución a traves de una función de JAVASCRIP que busque y cambie las letras con acentos y eñes por su equivalente &aacute, etc... antes de hacer la consulta...

Les cuento que el Hosting es en un servidor UNIX... Espero puedan ayudarme...

ver: <a href='ir.asp?http://www.dinoprop.com/prueba01b.asp' target='_blank'>http://www.dinoprop.com/prueba01b.asp...</a>

ver otra variante: <a href='ir.asp?http://www.dinoprop.com/prueba01c.asp' target='_blank'>http://www.dinoprop.com/prueba01c.asp...</a>

Saludos

Diego
  #2 (permalink)  
Antiguo 19/04/2002, 10:56
jgg
 
Fecha de Ingreso: agosto-2001
Mensajes: 56
Antigüedad: 23 años, 8 meses
Puntos: 0
Re: Buscador con Acentos (á,é,ñ, etc.)

Hola,
Creo que esta función te puede servir:

&lt;%
Function AccIns(Str)
Dim CurLtr
For x = 1 To Len(Str)
CurLtr = Mid(Str, x, 1)
Select Case CurLtr
Case &quot;a&quot;, &quot;à&quot;, &quot;á&quot;
AccIns = AccIns &amp; &quot;[aàá]&quot;
Case &quot;e&quot;, &quot;é&quot;, &quot;è&quot;
AccIns = AccIns &amp; &quot;[eéè]&quot;
Case &quot;i&quot;, &quot;ì&quot;, &quot;í&quot;
AccIns = AccIns &amp; &quot;[iìí]&quot;
Case &quot;o&quot;, &quot;ò&quot;, &quot;ó&quot;
AccIns = AccIns &amp; &quot;[oòó]&quot;
Case &quot;u&quot;, &quot;ù&quot;, &quot;ú&quot;
AccIns = AccIns &amp; &quot;[uùú]&quot;
Case &quot;n&quot;, &quot;ñ&quot;, &quot;Ñ&quot;
AccIns = AccIns &amp; &quot;[nñÑ]&quot;
Case Else
AccIns = AccIns &amp; CurLtr
End Select
Next
End Function
%&gt;

Asignas la variable
strlocalidad = Request.form(&quot;localidad&quot;)

en la consulta llamas a la función:
SQL = &quot;SELECT * FROM Localidades WHERE Localidad LIKE '%&quot; &amp; AccIns(strlocalidad) &amp; &quot;%'&quot;

quedándote la consulta
SELECT * FROM Localidades WHERE Localidad LIKE 'Esp[aàá][nñÑ][aàá]'

De esta manera ya no te tienes que preocupar por el tema de las tildes.

Un saludo!!

[email protected]
  #3 (permalink)  
Antiguo 19/04/2002, 21:55
Avatar de urjose  
Fecha de Ingreso: diciembre-2001
Mensajes: 5.286
Antigüedad: 23 años, 4 meses
Puntos: 1
Re: Buscador con Acentos (á,é,ñ, etc.)

Pues tal vez me equivoque pero es tan sencillo como cambiar el metodo del form de action=&quot;get&quot; a action=&quot;post&quot;

Logicamente tendras que cambiar la forma de recibir los valores, ahora sera con el Request.Form(&quot;nombre&quot;)

Saludos

<center><img src="http://www.pcmasmas.com.ar/foro/images/avatars/043.gif"><br>
Urjose</center>
  #4 (permalink)  
Antiguo 24/06/2002, 05:29
 
Fecha de Ingreso: junio-2002
Mensajes: 8
Antigüedad: 22 años, 10 meses
Puntos: 0
Re: Buscador con Acentos (á,é,ñ, etc.)

Muchas gracias a tod@s, la solución es exactamente lo que buscaba.
Así da gusto.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:53.