Cela peut être dû au fait que la connexion ou les jeux de caractères du client ne sont pas définis correctement.
Émettez SHOW VARIABLES LIKE 'character_set%'
et de voir ce que les valeurs de character_set_connection
et character_set_client
sont. Si elles sont latin1
, vous devez vous assurer que vous modifiez votre code pour obtenir de nouvelles connexions pour utiliser UTF-8. Cela peut être réalisé en émettant SET NAMES 'utf8'
lorsque vous vous êtes connecté. (Votre classe d'abstraction de base de données peut fournir une méthode pour modifier le jeu de caractères de connexion, auquel cas vous devriez le faire à la place.)
Si c'est effectivement le cas, vous avez peut-être stocké des données erronées dans vos tables. vous voudrez réparer.
http://stackoverflow.com/questions/1997540/mysql-varchar-lengths-and-utf-8 –