Frage

Hat jemand irgendwelche Tipps oder Momente, auf die man achten sollte, wenn man versucht, MySQL-Tabellen von den standardmäßigen schwedischen oder ASCII-Zeichensätzen, bei denen die Groß-/Kleinschreibung nicht beachtet wird, nach utf-8 zu migrieren?Einige der Projekte, an denen ich beteiligt bin, streben eine bessere Internationalisierung an und die Datenbank wird ein wesentlicher Teil dieser Veränderung sein.

Bevor wir versuchen, die Datenbank zu ändern, werden wir jede Site so konvertieren, dass sie die UTF-8-Zeichenkodierung verwendet (von am wenigsten kritisch bis am meisten), um sicherzustellen, dass alle Eingaben/Ausgaben denselben Zeichensatz verwenden.

Vielen Dank für jede Hilfe

War es hilfreich?

Lösung

Einige Hinweise:

  • Dein CHAR Und VARCHAR Spalten benötigen bis zu dreimal mehr Speicherplatz.(Für schwedische Wörter werden Sie wahrscheinlich nicht viel Speicherplatz gewinnen.)
  • Verwenden SET NAMES utf8 bevor Sie in die Datenbank lesen oder schreiben.Wenn Sie dies nicht tun, erhalten Sie teilweise verstümmelte Zeichen.

Andere Tipps

Ich werde die folgenden Websites/Artikel durchgehen, um eine Antwort zu finden.

Das absolute Minimum, das jeder Softwareentwickler unbedingt über Unicode und Zeichensätze wissen muss (keine Ausreden!) – Joel über Software

Häufig gestellte Fragen zu UTF-8 und Unicode

Hanselminutes-Folge „Sorting out Internationalization with Michael Kaplan“

Und ich habe auch gerade einen sehr thematischen Beitrag von Derek Sivers im O'Reilly ONLamp Blog gefunden, als ich das geschrieben habe. Konvertieren von MySQL-Daten in latin1 in utf8 utf-8

Beachten Sie die Beschränkungen der Indexlänge.Wenn eine Tabelle strukturiert ist, sagen Sie:

a varchar (255) b varchar (255) key ('a', 'b')

Sie werden die 1000-Byte-Grenze für die Schlüssellänge überschreiten.255+255 ist in Ordnung, aber 255*3 + 255*3 wird nicht funktionieren.

Dein CHAR Und VARCHAR Spalten benötigen bis zu dreimal mehr Speicherplatz.

Nur wenn sie vollgestopft sind mit Latin-1 mit Ordnungszahlen > 128.Ansonsten ist der erhöhte Speicherplatzverbrauch von UTF-8 minimal.

Die Kollationen sind nicht immer günstig.Sie erhalten Umlats, die in nicht umlatte Versionen sortiert werden, was nicht immer korrekt ist.Vielleicht möchten Sie mit utf8_bin arbeiten, aber dann muss auch die Groß-/Kleinschreibung beachtet werden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top