estoy corriendo las siguientes sentencias de selección de MySQL 5.0.88 con el juego de caracteres UTF-8 y el cotejo utf8_unicode_ci:MySQL - ¿Por qué reglas de comparación ignorados por el operador como por el carácter ß alemana
SELECT * FROM table WHERE surname = 'abcß';
+----+-------------------+------+
| id | forename | surname |
+----+-------------------+------+
| 1 | a | abcß |
| 2 | b | abcss |
+----+-------------+------------+
SELECT * FROM table WHERE surname LIKE 'abcß';
+----+-------------------+------+
| id | forename | surname |
+----+-------------------+------+
| 1 | a | abcß |
+----+-------------+------------+
De acuerdo con http://dev.mysql.com/doc/refman/5.0/en/charset-unicode-sets.html el alemán especial char ß = ss para utf8_unicode_ci, pero ¿por qué solo funciona con el operador "=" y no con LIKE? Tengo una aplicación para la guía telefónica y necesito desesperadamente que ambas cosas funcionen juntas.
lo ¿'muestra variables como '% collation%'' y 'show full fields from yourtable' show? La intercalación debe ser idéntica en todas partes. –
la intercalación de todos los campos varchar de la tabla se establece en "utf8_unicode_ci" + algunos campos int sin intercalación en absoluto. – sub
+1 pregunta muy interesante, me encantaría escuchar la respuesta. – Johan