2015-04-28 3 views
5

Ich habe auf einer Baustelle arbeiten vor Ort und bei der Entfaltung zu meinem Klienten Server stieß ich auf den FehlerSortierungsproblem, Ist es möglich, von utf8mb4_unicode_ci auf utf8_general_ci herunterzustufen/umzuwandeln?

MySQL sagte: Dokumentation

‚# 1273 - Unbekannt Sortierungs:‚utf8mb4_unicode_ci‘

MySQL Error

Nach viel zu graben ich weiß, das ist MySQL Version verwandt, meine lokalen MySQL 5.5, während der Server 5.1 ist die nicht utf8m unterstützt das b4_unicode_ci. Leider kann ich nichts tun, um die MySQL-Version des Servers zu aktualisieren.

Meine Frage ist also, kann ich meine aktuelle Datenbank trotzdem in etwas konvertieren, was MySQL 5.1 unterstützen würde?

+0

Wenn Sie sicher sind, dass Sie nur die in utf8 enthaltenen Zeichen verwenden, können Sie die Verweise auf utf8mb4 in Ihrer SQL-Textdatei finden und ersetzen. Ich tat dies, wenn ich eine Tabelle von einer in mysql 5.5 gehosteten Datenbank zu einer anderen mit mysql 5.1 bewegte. Ich habe den Befehl 'sed -i 's/utf8mb4/utf8/g' meine_tabelle.sql' – Reflexorozy

+0

Das ist ein handliches, wird daran erinnern, dass für das nächste Mal (sah es zu spät) – ChiWaiLi

Antwort

3

"Inzwischen", 5.1 hat CHARACTER SET utf8 COLLATE utf8_unicode_ci.

Dies ist kompatibel mit utf8mb4 in dem utf8 ist eine Teilmenge von utf8mb4. Einige chinesische Schriftzeichen, einige Emoticons und einige andere Dinge fehlen in utf8. Ansonsten funktionieren die beiden Zeichensätze und Sortierfolgen identisch.

utf8mb4 wurde erstmals im März 2010 der Version 5.5.3 hinzugefügt. Empfehlen Sie ein Upgrade.

+0

Das tat der Trick @Rick, danke. Ich musste hier und da ein paar chinesische Schriftzeichen aufräumen, aber es funktioniert zumindest. Ich würde gerne den Server zu aktualisieren, aber ich bin auf der Hosting-Firma des Kunden stecken, die sich weigert, zu entwickeln. – ChiWaiLi

Verwandte Themen