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
-2
A
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.
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. –