Ver Mensaje Individual
  #5 (permalink)  
Antiguo 09/10/2013, 09:36
AlanChavez
 
Fecha de Ingreso: junio-2010
Ubicación: Charlotte, NC
Mensajes: 611
Antigüedad: 13 años, 10 meses
Puntos: 95
Respuesta: Buscar con PHP en MySQL palabras acentuadas

Cita:
Iniciado por jonni09lo Ver Mensaje
Hola, el uso de expresiones regulares para las búsquedas me parece impropio ya que si las tablas tienen muchos registros el script consumira mucho tiempo procesando la consulta...

Te recomiendo que uses utf8_general_ci personalmente lo uso y no he tenido problemas buscando acentos.

Saludos
Define "muchos" registros, y "mucho tiempo".

Yo he utilizado expresiones regulares en tablas con millones de registros y las consultas se ejecutan en milisegundos, si es cierto que no son tan rápidas como un indice primario, pero que otra alternativa propones?

Si no quieres utilizar expresiones regulares en MySQL, entonces podrias hacer otra columna con el nombre normalizado utilizando solamente caracteres del alfabeto latino (o cualquier alfabeto que quieras) y busca esa columna.

Por ejemplo algo asi:

Nombre, NombreCanonico
José, Jose
Jöse, Jose
Jœsë, Jose

Y cuando busques, utilizas:

Código SQL:
Ver original
  1. SELECT N.Nombre FROM Nombres N WHERE N.NombreCanonico = "Jose";

Este tipo de soluciones las utilizan en Spotify ya que Spotify permite nombre de usuarios con todos los caracteres de UTF8