2016-04-18 26 views
-2

Ich habe Latin1 MySQL-Datenbank und es ist zu spät, um es zu utf8 zu konvertieren.
Wenn ich nach Text suche, der (französischer Buchstabe zum Beispiel) enthält, bekomme ich dasselbe Ergebnis mit englischem Buchstaben.
Beispiel: wenn ich nach "test" suche, bekomme ich "test" von MySQL.
Wie kann ich das vermeiden?
Vielen Dank.UTF8 Briefe Problem in lateinischen mysql Datenbank

+0

Bitte ein [mcve]. Stellen Sie sicher, dass Sie den Code, mit dem Sie Daten gespeichert haben, und den Code, mit dem Sie die Daten abgefragt haben, einbeziehen. –

Antwort

0

Die COLLATION latin1_general_ci finden test bei der Suche nach tést. Da dies wahrscheinlich Ihre Sortierung ist (sehen wir SHOW CREATE TABLE), ist dies kein effizienter Weg, um test zu vermeiden.

Wenn Sie nur westeuropäische Zeichen haben, ist utf8 kein kritisches Ziel.

Um die Tabelle foo zu dieser Zusammenstellung zu ändern:

ALTER TABLE foo CONVERT TO CHARACTER SET latin1 COLLATE latin1_bin; 

Da es die gesamte Tabelle zu kopieren beinhalten wird, wird es einige Zeit dauern.