Wordpress 4.2 a introduit la prise en charge du codage de caractères "utf8mb4" pour des raisons de sécurité , mais seul MySQL 5.5.3 et supérieur le prend en charge. La façon dont le programme d'installation (et le programme de mise à jour) gère cela est de vérifier votre version de MySQL et votre base de données ne sera mise à niveau vers utfmb4 que si elle est prise en charge .
Cela semble très bien en théorie, mais le problème (comme vous l'avez découvert) est lorsque vous migrez des bases de données d'un serveur MySQL qui prend en charge utf8mb4 vers un autre qui ne le fait pas. Bien que l'inverse devrait fonctionner, il s'agit essentiellement d'une opération à sens unique.
Comme indiqué par Evster, vous pourriez avoir du succès en utilisant la fonction "Exporter" de PHPMYAdmin. Utilisez " Méthode d'exportation: Personnalisée " et pour le " Système de base de données ou un ancien serveur MySQL pour maximiser la compatibilité de sortie avec: " sélectionnez dans la liste déroulante " MYSQL 40 ".
Pour un export en ligne de commande à l'aide de mysqldump. Jetez un œil au drapeau:
$ mysqldump --compatible=mysql4
Remarque: S'il y a des caractères de 4 octets dans la base de données, ils seront corrompus.
Enfin, pour quiconque utilise le populaire plugin WP Migrate DB PRO, un utilisateur de ce fil de discussion Wordpress.org rapporte que la migration est toujours gérée correctement, mais je n'ai rien trouvé d'officiel.
Le plugin WP Migrate DB traduit la base de données d'un classement à l'autre lorsqu'il déplace des sites 4.2 entre des hôtes avec MySQL pré ou post-5.5.3
Pour le moment, il ne semble pas y avoir de moyen de désactiver la mise à jour de la base de données. Donc, si vous utilisez un flux de travail dans lequel vous migrez un site d'un serveur ou d'un hôte local avec MySQL> 5.5.3 vers un site qui utilise une version plus ancienne de MySQL, vous n'aurez peut-être pas de chance.