Mysql
 sql >> Database >  >> RDS >> Mysql

Conversione della tabella MySQL con dati codificati in modo errato in UTF-8

Questo metodo qui sotto sembra davvero promettente e ancora migliore, bello nella sua semplicità. L'idea è di eseguire il mysqldump dell'intero database come latin1 e quindi importarlo ricodificato come utf-8.

Esporta:

Importa:

Non mi prendo alcun merito per questa soluzione, è completamente da Blog di Gareth Price . Ha funzionato per tutti coloro che gli hanno lasciato un commento finora:"Wow amico, mi hai appena salvato la vita. Non ci ho passato 2 ore, ma 2 giorni" ha attirato la mia attenzione.

Aggiornamento n. 1: Sembra Gareth era non è il primo per scoprirlo.

Aggiornamento n. 2: L'ho appena provato e ha funzionato magnificamente per il mio database UTF8-stored-as-latin1. Assicurati solo di cambiare il set di caratteri predefinito sul tuo database su utf8 prima importando, altrimenti ti ritroverai con semplici punti interrogativi dove si trovavano i caratteri speciali. Ovviamente questo potrebbe avere molte altre ramificazioni, quindi prova prima come l'inferno.

E se hai tabelle che non sono impostate sullo schema predefinito:

(stessa idea se hai impostazioni di set di caratteri specifiche per le colonne, dovrai eseguire un ALTER TABLE [table] CAMBIA COLONNA [impostazioni] senza specificare CHARACTER SET in modo che torni all'impostazione predefinita della tabella)