Ich habe eine WordPress-Website auf meinem lokalen WAMP- Server. Wenn ich jedoch die Datenbank auf den Live-Server hochlade, wird eine Fehlermeldung angezeigt
#1273 – Unknown collation: ‘utf8mb4_unicode_520_ci’
Jede Hilfe wäre dankbar!
Ich habe eine WordPress-Website auf meinem lokalen WAMP- Server. Wenn ich jedoch die Datenbank auf den Live-Server hochlade, wird eine Fehlermeldung angezeigt
#1273 – Unknown collation: ‘utf8mb4_unicode_520_ci’
Jede Hilfe wäre dankbar!
Antworten:
Sie können dies lösen, indem Sie finden
ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci;
in Ihrer .sql
Datei, und tauschen Sie es mit
ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
COLLATION 'utf8_general_ci' is not valid for CHARACTER SET 'utf8mb4'
, ich habe ersetzt utf8mb4_unicode_520_ci
mit utf8mb4_unicode_ci
und es funktioniert, wie pro Sabba Antwort.
Ich glaube, dieser Fehler wird verursacht, weil auf dem lokalen Server und dem Live-Server unterschiedliche Versionen von MySQL ausgeführt werden. Um dies zu lösen:
utf8mb4_unicode_520_ci
durchutf8mb4_unicode_ci
hoffentlich hilft das
utf8mb4_unicode_520_ci
hat viel als besser UTF-8 - Unterstützung utf8mb4_unicode_ci
! Sauce: mysql.rjweb.org/doc.php/charcoll#best_practice mit visueller Klarstellung, die beweist, dass 520_ci hier überlegen ist: mysql.rjweb.org/utf8_collations.html
In meinem Fall stellte sich heraus, dass mein
neuer Server lief MySQL 5.5
, der
alte Server lief MySQL 5.6
.
Beim Versuch, die .sql
von meinem alten Server exportierte Datei zu importieren, trat diese Fehlermeldung auf .
MySQL 5.5 unterstützt nicht utf8mb4_unicode_520_ci
,
MySQL 5.6 jedoch.
Durch das Aktualisieren MySQL 5.6
auf den neuen Server wurde der Fehler behoben!
Wenn Sie MySQL 5.5 beibehalten möchten, können Sie:
- eine Kopie Ihrer exportierten .sql
Datei erstellen
- Instanzen von ersetzen utf8mb4unicode520_ci
und utf8mb4_unicode_520_ci
... durch utf8mb4_unicode_ci
- Ihre aktualisierte .sql
Datei importieren .
Öffnen Sie die SQL-Datei in Ihrem Texteditor.
1. Suche: utf8mb4_unicode_ci Ersetzen: utf8_general_ci (Alle ersetzen)
2. Suche: utf8mb4_unicode_520_ci Ersetzen: utf8_general_ci (Alle ersetzen)
3. Suche: utf8mb4 Ersetzen: utf8 (Alle ersetzen)
Speichern und hochladen!
entferne einfach "520_"
utf8mb4_unicode_520_ci
→utf8mb4_unicode_ci
Ich habe gerade die Datei dump.sql in Notepad ++ geöffnet und STRG + H gedrückt, um die Zeichenfolge " utf8mb4_0900_ai_ci " zu finden, zu ersetzen und durch " utf8mb4_general_ci " zu ersetzen . Quelllink https://www.freakyjolly.com/resolved-when-i-faced-1273-unknown-collation-utf8mb4_0900_ai_ci-error/
suchen und Ersetzen:
utf8mb4_unicode_520_ci
mit
utf8_general_ci
in der gesamten SQL-Datei
general
und utf8
sind beide Schritte zurück.
Spät zur Party, aber falls dies bei einer WORDPRESS
Installation passiert :
#1273 - Unknown collation: 'utf8mb4_unicode_520_ci
In phpmyadmin unter export method
> Format-specific options
(benutzerdefinierter Export)
Einstellen : MYSQL40
Wenn Sie jetzt versuchen zu importieren, wird möglicherweise eine weitere Fehlermeldung angezeigt:
1064 - You have an error in your SQL syntax; .....
Dies liegt daran, dass die ältere TYPE
Option, mit der synonym ENGINE
war, in MySQL 5.5 entfernt wurde.
Öffnen Sie Ihre .sql
Datei, suchen und ersetzen Sie alle Instanzen
von TYPE=
bisENGINE=
Jetzt sollte der Import reibungslos verlaufen.
Kollatierungsfehler # 1273 abrufen - Unbekannte Kollatierung: 'utf8mb4_unicode_520_ci' wird durch den Unterschied zwischen der MySQL-Version, aus der Sie exportieren, und unserem MySQL-Server, auf den Sie importieren, verursacht. Grundsätzlich überprüft die Wordpress-Bibliothek für neuere Versionen, auf welcher SQL-Version Ihre Site ausgeführt wird. Wenn MySQL Version 5.6 oder höher verwendet wird, wird die Verwendung eines neuen und verbesserten Unicode-Kollatierungsalgorithmus (UCA) mit dem Namen "utf8mb4_unicode_520_ci" vorausgesetzt. Dies ist großartig, es sei denn, Sie verschieben Ihre WordPress-Site von einer neueren 5.6-Version von MySQL auf eine ältere Version vor 5.6 von MySQL.
Um dies zu beheben, müssen Sie entweder Ihre SQL-Exportdatei bearbeiten und suchen und ersetzen, wobei Sie alle Instanzen von 'utf8mb4_unicode_520_ci' in 'utf8mb4_unicode_ci' ändern. Oder führen Sie die folgenden Schritte aus, wenn Sie über einen PHPMyAdmin verfügen:
sed -i 's/utf8mb4_unicode_520_ci/utf8mb4_unicode_ci/g' file.sql