PHP - Encontrar palabras con y sin acentos en mysql desde php

 
Vista:

Encontrar palabras con y sin acentos en mysql desde php

Publicado por alexander castellanos (10 intervenciones) el 02/08/2015 23:15:43
Que tal amigos, en cuestión de php tengo algo de conocimiento pero he llegado a este punto en donde por mas que he investigado no encuentro una solución final, probé ya con varias.

El caso es que tengo un formulario a llenar por cualquier usuario en el cual los datos son subidos a la base de datos.
Por otro lado, tengo un buscador que encuentra los datos registrados por el usuario, es decir si el usuario puso en su formulario la palabra "camion" entonces puedo escribir "camion" en el buscador y me encuentra ese registro.

El problema es cuando una persona escribe "camión", esta se registra normalmente en la base de datos pero cuando escribo en el buscador "camion" no me la encuentra pues el acento impide que asi sea, sin embargo, escribiendo "camión" si que la encuentra, en lo que me he quebrado la cabeza es encontrar la forma para que aun asi escriba camion, me muestra camión tambien. Creen que haya una forma de hacerlo?, manejo el cotejamiento "utf8_spanish_ci" y he probado con "utf8_general_ci" y no hay diferencia.

Gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Encontrar palabras con y sin acentos en mysql desde php

Publicado por xve (6935 intervenciones) el 03/08/2015 09:40:52
Mira lo que dijo nuestro amigo Miguel Pérez

Si usas la colación adecuada, las mayúsculas, minúsculas y marcas diacríticas serán tratadas como el mismo carácter, es decir, que 'a', 'A', 'á', 'Ä', etc. serán el mismo carácter al comparar.

La colación utf8_general_ci , por defecto en el juego/codificación de caracteres utf8, implementará lo que quieres. Por supuesto tienes que asegurarte de que absolutamente todo lo que tienes (columnas, tablas, esquemas, servidor, conexión, cliente, librería de MySQL, cadenas en el lenguaje de programación, cadenas en el código fuente y codificación de caracteres en la aplicación del cliente/HTML) trabaja en UTF-8 o algún otro formato de Unicode, no sólo para lograr esto, sino porque es lo correcto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Encontrar palabras con y sin acentos en mysql desde php

Publicado por Alexander castellanos (10 intervenciones) el 03/08/2015 18:58:51
Muchas gracias por tu respuesta amigo, verificare que todo este en utf-8 pero según yo así es, cambiare de nuevo la base de datos y su contenido a general_ci y veré si eso me resuelve algo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar