Je pense que la réponse à votre question en ce moment est "Non".
Il n'y a pas de moyen facile de déclencher maybe_convert_table_to_utf8mb4
sur des sites une fois qu'ils ont déjà été mis à niveau au-delà de WP 4.3 sur un serveur qui ne répondait pas aux exigences énoncées dans cet article:
https://make.wordpress.org/core/2015/04/02/the-utf8mb4-upgrade/
Notez que, en regardant le code source de WP, il semble qu'ils soient passés de la séquence de mise à jour de 4.2 à 4.3 (il n'est plus présent dans 4.2, qui n'a désormais plus de mises à niveau), espérant peut-être obtenir plus d'utilisateurs à bord.
Voilà donc votre réponse et ça craint mais c'est plus précis que les autres ¯_ (ツ) _ / ¯
Nous travaillons actuellement sur la création d'un script simple qui vous permet de déclencher l'essence de la séquence de mise à niveau basée sur un crochet d'action. Si nous pouvons le rendre stable et fonctionnel, nous essaierons de revenir et de le partager ici pour que d'autres puissent l'utiliser.
Notre plan de base consiste à extraire la partie réelle de la base de données upgrade_430()
, à l'isoler du système de mise à jour de la base de données et à la déclencher manuellement.
EDIT: SOLUTION CI-DESSOUS
Bien qu'il n'y ait pas de moyen facile de déclencher le script, voici une solution de contournement codée à la main, basée sur upgrade_430()
mais conçue comme un drop-in.
https://gist.github.com/carlalexander/4106cfaaf405cec454ba195631bcb6bc
Vous pouvez mettre cela dans un plugin, ou simplement le coller dans votre functions.php. Dans tous les cas, cela devrait être TEMPORAIRE.
Il est configuré pour se déclencher automatiquement lorsque vous visitez https://yoursite.com/?update-utf8bm4=1
Cela garantit qu'il ne s'exécute qu'une seule fois et vous pouvez choisir quand (pour les grandes bases de données, cela peut prendre un certain temps et vous ne voulez pas que quelqu'un modifie un article pendant qu'il se produit).
Si vous ne souhaitez pas que le déclencheur GET supprime simplement la add_action
pièce et la if (!isset($_GET['update-utf8bm4']))
pièce.
Encore une fois: SUPPRIMER CECI UNE FOIS TERMINÉ, vous ne voulez pas laisser un déclencheur GET comme celui-ci traîner :)
maybe_convert_table_to_utf8mb4
(comme toute mise à jour WP)? Vous ne l'avez pas mentionné dans la réponse;)Avez-vous essayé de modifier le classement de la table de base de données? Veuillez essayer ceci:
Connectez-vous à phpmyadmin> sélectionnez votre base de données> Opérations> changez maintenant le classement du menu déroulant en "utf8mb4_unicode_ci" ou changez ce qui était utilisé sur votre ancien serveur.
J'espère que cela fonctionnera pour vous.
voir capture d'écran: http://prntscr.com/8ip1ro/direct
Rappelez-vous: Si vous exportez le fichier sql de votre ancien serveur vers votre PC et l'ouvrez avec n'importe quel éditeur de texte ... et personnalisez et enregistrez .. alors veuillez vérifier quand vous enregistrez le fichier sql Text Editor "Encoding" est Utf-8 .. voir ma capture d'écran: http://prntscr.com/8ip2nr/direct
Merci
la source