Wordpress 4.2 ha introdotto il supporto per la codifica dei caratteri "utf8mb4" per motivi di sicurezza , ma solo MySQL 5.5.3 e versioni successive lo supportano. Il modo in cui il programma di installazione (e il programma di aggiornamento) gestisce questo è che controlla la tua versione di MySQL e il tuo database verrà aggiornato a utfmb4 solo se è supportato .
In teoria sembra fantastico, ma il problema (come hai scoperto) è quando si esegue la migrazione di database da un server MySQL che supporta utf8mb4 a uno che non lo fa. Mentre il contrario dovrebbe funzionare, è fondamentalmente un'operazione a senso unico.
Come sottolineato da Evster, potresti avere successo utilizzando la funzione "Esporta" di PHPMYAdmin. Utilizzare " Metodo di esportazione: personalizzato " e per " Sistema database o server MySQL precedente per massimizzare la compatibilità dell'output con: " selezionare " MYSQL 40 ".
Per un'esportazione da riga di comando utilizzando mysqldump. Dai un'occhiata alla bandiera:
$ mysqldump --compatible=mysql4
Nota: se nel database sono presenti caratteri a 4 byte, verranno danneggiati.
Infine, per chiunque utilizzi il popolare plug-in WP Migrate DB PRO, un utente in questo thread di Wordpress.org riporta che la migrazione viene sempre gestita correttamente ma non sono riuscito a trovare nulla di ufficiale.
Il plug-in WP Migrate DB traduce il database da un confronto all'altro quando sposta 4.2 siti tra host con MySQL pre o post 5.5.3
Al momento, non sembra esserci un modo per annullare l'aggiornamento del database. Quindi, se stai usando un flusso di lavoro in cui stai migrando un sito da un server o localhost con MySQL> 5.5.3 a uno che utilizza una versione precedente di MySQL, potresti essere sfortunato.