Foros del Web » Programando para Internet » PHP »

PHP - Obviar acentos en query MySQL

Estas en el tema de PHP - Obviar acentos en query MySQL en el foro de PHP en Foros del Web. Buenas, Estoy haciendo un buscador para la página de un amigo, pero me encuentro con un problemilla... la tabla de DB contiene datos con acentos, ...
  #1 (permalink)  
Antiguo 12/06/2010, 03:44
 
Fecha de Ingreso: septiembre-2006
Mensajes: 68
Antigüedad: 17 años, 7 meses
Puntos: 0
PHP - Obviar acentos en query MySQL

Buenas,

Estoy haciendo un buscador para la página de un amigo, pero me encuentro con un problemilla... la tabla de DB contiene datos con acentos, y la idea es que al realizar una búsqueda si buscas por ejemplo "garcia" te encuentre "García"

Sobre las mayúsculas ya lo he solucionado con ucfirst()... para los acentos he pensado en crear una función para cambiar todas las vocales por una wildcard MySQL de un caracter (_)

Como imagino que es un problema típico, mi pregunta es... ¿Hay alguna función de PHP o MySQL que haga ésto, o una manera más sencilla de hacerlo?
  #2 (permalink)  
Antiguo 12/06/2010, 04:45
 
Fecha de Ingreso: noviembre-2009
Mensajes: 44
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: PHP - Obviar acentos en query MySQL

Es simple,
La página que recoge los datos debe tener en el código "en el head" lo siguiente:

Código HTML:
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 
Y si has creado una página que hace en la base de datos un insert o un update también debe llevar:
Código HTML:
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 
A mi buscador solo poniéndolo en Latin 1 me obvia acentos y mayúsculas
  #3 (permalink)  
Antiguo 12/06/2010, 06:30
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: PHP - Obviar acentos en query MySQL

Yo no he tenido problemas que al ingresar una palabra sin acento y en la base de datos tiene el acento la encuentre. Trata usando el motor de almacenamiento como MyISAM o InnoDB.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #4 (permalink)  
Antiguo 13/06/2010, 05:57
 
Fecha de Ingreso: septiembre-2006
Mensajes: 68
Antigüedad: 17 años, 7 meses
Puntos: 0
Respuesta: PHP - Obviar acentos en query MySQL

Cita:
Iniciado por abimaelrc Ver Mensaje
Yo no he tenido problemas que al ingresar una palabra sin acento y en la base de datos tiene el acento la encuentre. Trata usando el motor de almacenamiento como MyISAM o InnoDB.
Pues la verdad, no entiendo cómo no tienes problemas...
Ya uso el motor MyISAM, y si por ejemplo busco 'garcia' no me encuentra 'garcía'

Sobre lo que comentaba otro usuario, cambiar la codificación de la página tampoco soluciona el problema
  #5 (permalink)  
Antiguo 13/06/2010, 06:05
 
Fecha de Ingreso: septiembre-2006
Mensajes: 68
Antigüedad: 17 años, 7 meses
Puntos: 0
Respuesta: PHP - Obviar acentos en query MySQL

Cita:
Iniciado por falotron Ver Mensaje
Pues la verdad, no entiendo cómo no tienes problemas...
Ya uso el motor MyISAM, y si por ejemplo busco 'garcia' no me encuentra 'garcía'

Sobre lo que comentaba otro usuario, cambiar la codificación de la página tampoco soluciona el problema
Vale, rectifico
Cambiar la codificación de la tabla de la DB sí que soluciona el problema

Etiquetas: acentos, mysql, query
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 21:57.