Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Quitar acentos en el Select

Estas en el tema de Quitar acentos en el Select en el foro de Mysql en Foros del Web. Hola. Utilizo PHP 5.2 y MySQL 5.0, mediante Ocommerce. Desde hace mucho tiempo he querido saber cómo podría hacer una búsqueda en mi base de ...
  #1 (permalink)  
Antiguo 14/04/2012, 05:16
Avatar de Tioserch  
Fecha de Ingreso: abril-2012
Ubicación: España
Mensajes: 5
Antigüedad: 12 años
Puntos: 0
Quitar acentos en el Select

Hola.

Utilizo PHP 5.2 y MySQL 5.0, mediante Ocommerce.

Desde hace mucho tiempo he querido saber cómo podría hacer una búsqueda en mi base de datos pero sin tener en cuenta las tildes.
Sé que a mis variables les puedo eliminar las tildes, pero ¿se pueden eliminar en la consulta?
Yo en mi base de datos guardo mis artículos con sus tildes correspondientes, pero muchísimos clientes buscan sin las tildes.

Por ejemplo, si el cliente busca la palabra bateria (sin tilde), yo la tendré en la base de datos como batería (con tilde), por lo tanto no saldrá como resultado.

De momento me toca modificar la palabra que pone el cliente haciendo que todas las vocales sean comodín, pero claro esto no es una solución definitiva ya que en el resultado de la búsqueda también salen artículos que no corresponden.

¿Cómo debería hacer el SELECT para que la consulta sea correcta?

Gracias.
  #2 (permalink)  
Antiguo 14/04/2012, 08:56
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Quitar acentos en el Select

En realidad, eso se maneja más dentro de los charsets y collation de las columnas, que con sacar o poner acentos.
Estos dos elementos que se determinan al crear las columnas de las tablas permiten al MySQL que ignore las distinciones entre mayúsculas, minúsculas o acentuaciones. Simplemente mira la vocal que corresponde.
Sobre esto hay infinidades de posts en este foro, y capítulos dedicados al tema en el manual, como por ejemplo: MySQL:: Capitulo 10.1. Conjuntos de caracteres y colaciones en general
MySQL:: Capitulo 10.2. Conjuntos de caracteres y colaciones en MySQL
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 23/04/2012, 00:57
Avatar de Tioserch  
Fecha de Ingreso: abril-2012
Ubicación: España
Mensajes: 5
Antigüedad: 12 años
Puntos: 0
Respuesta: Quitar acentos en el Select

Muchas gracias gnzsoloyo.
Estuve revisando lo que me dijiste y ya lo solucioné de esta forma:
Cita:
pd.products_name collate latin1_spanish_ci like '%" . tep_db_input($keyword) . "%'
Saludos.

Etiquetas: acentos, php, select, sql
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 15:31.