Ver Mensaje Individual
  #14 (permalink)  
Antiguo 17/11/2012, 12:39
Avatar de gnzsoloyo
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, 5 meses
Puntos: 2658
Respuesta: Query no encuentra un valor en la BD

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:
Cita:
REGEXP y RLIKE usan el conjunto de caracteres actual (ISO-8859-1 Latin1 por defecto) al decidir el tipo de un carácter. Atención: Estos operadores no pueden trabajar con múltiples bytes.
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í.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 17/11/2012 a las 13:00