El motivo del error no es la tabla sino el conjunto de caracteres de su entrada, es decir, el 'rené' en su consulta. El comportamiento depende de la character_set_connection variables:
Usando MySQL Client, cámbielo usando SET NAMES
:
SET character_set_client = charset_name;
SET character_set_results = charset_name;
SET character_set_connection = charset_name;
(de http://dev.mysql.com/doc /refman/5.5/en/charset-connection.html )
Salida de ejemplo:
mysql> set names latin1;
Query OK, 0 rows affected (0.00 sec)
mysql> select * from User where username = 'rené' collate utf8_general_ci;
ERROR 1253 (42000): COLLATION 'utf8_general_ci' is not valid for CHARACTER SET 'latin1'
mysql> set names utf8;
Query OK, 0 rows affected (0.00 sec)
mysql> select * from User where username = 'rené' collate utf8_general_ci;
Empty set (0.00 sec)
Alternativamente, el usuario puede establecer explícitamente el conjunto de caracteres usando un 'presentador de conjunto de caracteres':
mysql> set names latin1;
Query OK, 0 rows affected (0.00 sec)
mysql> select * from User where username = _utf8'rené' collate utf8_general_ci;
Empty set (0.00 sec)
Sé que esta pregunta es bastante antigua, pero dado que Google me llevó aquí por una pregunta relacionada, pensé que todavía merece una respuesta :)