Ver Mensaje Individual
  #16 (permalink)  
Antiguo 18/11/2012, 10:01
Avatar de mdromed
mdromed
 
Fecha de Ingreso: septiembre-2009
Mensajes: 389
Antigüedad: 14 años, 7 meses
Puntos: 8
Respuesta: Query no encuentra un valor en la BD

Cita:
Iniciado por gnzsoloyo Ver Mensaje
A mi entender, lo más probable es un defecto en la conversión de los caracteres que se ingresan, respecto de los que los que se envían a MySQL.
Es, supongo, algo semejante a lo que ocurriría si en lugar de recibir "é", la consulta recibiese "&eacute", el resultado sería completamente diferente.
En parte es una suposición, pero es muy posible que el problema se esté produciendo a ese nivel.

De todos modos, como aclaración, la prueba realizada la hice con phpMyAdmin, MySQL Workbench, MySQL Query Bowser y con la consola de MySQL, y sólo funciona bien con la consola.
Ahora bien, si vamos al manual, la explicación de todo este enredo se vuelve muy, pero muy simple:

Al ser los caracteres mencionados, utf8, es posible que se generen conflictos y que eso explique un comportamiento tan anómalo.

Yo creo que si en lugar de hacer esto tan retorcido, simplemente cusa otras posibilidades, no debería tener problemas:

Código MySQL:
Ver original
  1. mysql> SELECT ('cébémóvíl' SOUNDS LIKE 'cebemovil') prueba;
  2. +--------+
  3. | prueba |
  4. +--------+
  5. |      1 |
  6. +--------+
  7. 1 row in set (0.00 sec)
Creo que el tema anda por allí.


Genial!
No sabia que existia SOUNDS LIKE
Asi funciona:

SELECT 'cébémóvíl' sounds like ('[cç][eéèëê]b[eéèëê]m[oóòöô]v[iíìïî]l') as prueba;