Foros del Web » Programando para Internet » PHP »

Problema al buscar palabra con tilde

Estas en el tema de Problema al buscar palabra con tilde en el foro de PHP en Foros del Web. Estimados. Tengo problemas a la hora de buscar palabras con tilde. Cotejamiento de la conexión al servidor: utf8_general_ci La tabla 0_ver con cotegamiento: utf8_general_ci el ...
  #1 (permalink)  
Antiguo 10/11/2014, 15:36
 
Fecha de Ingreso: abril-2011
Mensajes: 5
Antigüedad: 13 años
Puntos: 0
Problema al buscar palabra con tilde

Estimados.
Tengo problemas a la hora de buscar palabras con tilde.

Cotejamiento de la conexión al servidor: utf8_general_ci

La tabla 0_ver con cotegamiento: utf8_general_ci

el campo de la tabla 0_ver es el siguiente:
nombre varchar(100) utf8_general_ci


la cabecera de la pagina esta en:
Código HTML:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
Tengo dos ingresos en la tabla:
La pabra méxico que la guarda en el compo nombre como méxico
y
La palabra mexico que la guarda en el campo nombre como mexico.

El problema

Cuando realizo la busqueda desde el formulario de busqueda de la palabra
méxico me da un solo resultado: méxico

Pero quisiera que tambien encuentre mexico (sin el tilde en la e)

Y viseversa sucede lo mismo, al ingresar mexico no me encuentra méxico.

la consulta la realizo asi:
Código PHP:
$resultados mysql_query(" SELECT * FROM 0_ver WHERE nombre  LIKE '%".$_GET[Busc]."%'") or die ();
while(
$row mysql_fetch_array($resultados)){

echo 
"<br>";
echo 
"";
echo 
$row[id];
echo 
"-";
echo 
$row[nombre];



Espero que alguien me pueda ayudar, he buscado infinidad de info pero no logro resolverlo.

Última edición por gnzsoloyo; 10/11/2014 a las 16:45
  #2 (permalink)  
Antiguo 10/11/2014, 18:54
Avatar de supermash  
Fecha de Ingreso: noviembre-2014
Mensajes: 7
Antigüedad: 9 años, 5 meses
Puntos: 0
Respuesta: Problema al buscar palabra con tilde

haz lo siguiente :
La tabla 0_ver con cotegamiento: latin1_swedish_ci

y la cabezera de la pagina dejala asi:
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />

prueba con eso respecto al codigo de busqueda lo veo aparentemente bien peroo si haciendo lo de arriba aun no hay solucion te recomendaria que con el formulario de busqueda le pongas el name ala caja de texto y lo guardes en una variable y lo concatenes en el select quedaria de la siguiente manera:
$busqueda=$_POST['txtnombre'];
$resultados = mysql_query(" SELECT * FROM 0_ver WHERE nombre LIKE '%".$busqueda."%'") or die ();
while($row = mysql_fetch_array($resultados)){

echo "<br>";
echo "";
echo $row[id];
echo "-";
echo $row[nombre];


}
<form method="post">
<label>nombre:</label>
<input type="text" name="txtnombre">
<input type="submit" value="Buscar">
</form>
espero te sirva saludos
  #3 (permalink)  
Antiguo 11/11/2014, 12:22
 
Fecha de Ingreso: abril-2011
Mensajes: 5
Antigüedad: 13 años
Puntos: 0
Respuesta: Problema al buscar palabra con tilde

Gracias Supermash

He realizado los cambios que me sugeriste y ya tengo solucionado lo del buscador.
Pero... $_POST['txtnombre'] lo mando por un jquery
lo que me trajo el problema que por mas que cambiara el meta de la pagina a:
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />

El valor de $_POST['txtnombre'] se incorporara en la tabla con caracteres UTF8

Por lo que antes de realizar el insert en la base de datos lo decodifique asi:
$nombre= utf8_decode($_POST['txtnombre'] );

El resultado fue optimo, ahora... esta bien hecho?

Etiquetas: campo, mysql, palabra, select, sql, tabla, tilde
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 14:15.