2010-11-05 7 views
1

MySQL pense É et E sont les mêmes et donc jeter une exception disant entrée en double « CLEME » pour la touche « primaire »É vs E dans la base de données MySQL

MySQL est 5.1.30 et la table utilise UTF8 -unicode-ci et le champ est défini comme suit:

search_key varchar (120) CHARACTER SET latin1 NOT NULL,

est-il possible de laisser ce domaine savent qu'ils ne sont pas les mêmes?

Merci!

Répondre

1

Modifiez également le jeu de caractères du champ en UTF-8. En outre, définissez le jeu de caractères de connexion sur UTF-8 lorsque vous effectuez l'insertion.

+0

Merci beaucoup pour votre réponse. Cependant, j'ai essayé jdbc: mysql: // localhost: 3306/nomtable? UseUnicode = true & characterEncoding = UTF-8 et changé le jeu de caractères de champ en utf8-general-ci mais cela ne fonctionne pas. Une idée? – lonelyloner

+0

'utf8-general-ci' est un jeu de caractères de collation qui dicte l'ordinalité des caractères. Utilisez simplement 'utf8' pour le jeu de caractères. –

Questions connexes