Ich denke, die Antwort auf Ihre Frage ist "Nein".
Es gibt keine einfache Möglichkeit, maybe_convert_table_to_utf8mb4
Websites auszulösen , die bereits nach WP 4.3 auf einem Server aktualisiert wurden, der die in diesem Beitrag festgelegten Anforderungen nicht erfüllt:
https://make.wordpress.org/core/2015/04/02/the-utf8mb4-upgrade/
Wenn man sich den WP-Quellcode ansieht, sieht es so aus, als hätten sie diesen von 4.2s Update-Sequenz auf 4.3 verschoben (es ist in 4.2 nicht mehr vorhanden, da es jetzt überhaupt keine Upgrades mehr gibt) und hoffen, dass mehr Benutzer an Bord kommen.
Das ist also deine Antwort und es ist scheiße, aber genauer als die anderen ¯_ (ツ) _ / ¯
Wir arbeiten derzeit an einem einfachen Skript, mit dem Sie die Grundzüge der Upgrade-Sequenz basierend auf einem Aktions-Hook auslösen können. Wenn wir es stabil und funktionsfähig machen können, versuchen wir, es hier weiterzugeben, damit andere es verwenden können.
Unser grundlegender Plan ist es, den eigentlichen Datenbank-Teil von zu extrahieren upgrade_430()
, ihn vom Datenbank-Aktualisierungssystem zu isolieren und ihn manuell auszulösen.
EDIT: LÖSUNG UNTEN
Es gibt zwar keine einfache Möglichkeit, das Skript auszulösen, aber hier ist eine handcodierte Problemumgehung, die auf upgrade_430()
einem Drop-In basiert, jedoch als solches konzipiert ist.
https://gist.github.com/carlalexander/4106cfaaf405cec454ba195631bcb6bc
Sie können dies in ein Plugin einfügen oder es einfach in Ihre functions.php einfügen. In jedem Fall sollte es vorübergehend sein.
Es ist so eingestellt, dass es automatisch bei Ihrem Besuch ausgelöst wird https://yoursite.com/?update-utf8bm4=1
Dies stellt sicher, dass es nur ein einziges Mal ausgeführt wird und Sie wählen können, wann (bei großen Datenbanken kann es eine Weile dauern und Sie möchten nicht, dass jemand einen Beitrag bearbeitet, während er ausgeführt wird).
Wenn Sie den GET-Trigger nicht haben möchten, entfernen Sie einfach das add_action
Teil und das if (!isset($_GET['update-utf8bm4']))
Teil.
Nochmals: ENTFERNEN SIE DIESES, WENN ES VOLLSTÄNDIG IST, möchten Sie keinen GET-Trigger wie diesen herumliegen lassen :)
maybe_convert_table_to_utf8mb4
(wie bei jedem WP-Update)? Das hast du in der Antwort nicht erwähnt;)Haben Sie versucht, die Sortierung der Datenbanktabelle zu ändern? Bitte versuchen Sie dies:
Melden Sie sich bei phpmyadmin an, wählen Sie Ihre Datenbank aus, und klicken Sie auf "Operations". Ändern Sie nun die Sortierung von in "utf8mb4_unicode_ci" oder ändern Sie die auf Ihrem alten Server verwendete Sortierung.
Ich hoffe es wird für dich funktionieren.
Siehe Screenshot: http://prntscr.com/8ip1ro/direct
Denken Sie daran: Wenn Sie eine SQL-Datei von Ihrem alten Server auf Ihren PC exportieren und mit einem beliebigen Texteditor öffnen ... und anpassen und speichern ... dann überprüfen Sie bitte, wann Sie die SQL-Datei speichern. Der Texteditor "Encoding" ist Utf-8 . Siehe meinen Screenshot: http://prntscr.com/8ip2nr/direct
Vielen Dank
quelle