sql >> Database >  >> RDS >> Mysql

MySQL-tabel met onjuist gecodeerde gegevens converteren naar UTF-8

Deze methode hieronder ziet er veelbelovend en nog beter uit, mooi in zijn eenvoud. Het idee is dat je je hele database mysqldumpt als latin1, en deze vervolgens opnieuw gecodeerd importeert als utf-8.

Exporteren:

Importeren:

Ik neem geen eer voor deze oplossing, het is volledig van blog van Gareth Price . Het heeft tot nu toe gewerkt voor iedereen die een opmerking voor hem heeft achtergelaten:"Wow man, je hebt zojuist mijn leven gered. Ik heb hier geen 2 uur aan besteed, maar 2 dagen" trok mijn aandacht.

Update #1: Het lijkt erop dat Gareth wasn niet de eerste om dit te ontdekken.

Update #2: Ik heb dit net geprobeerd en het werkte prachtig voor mijn UTF8-stored-as-latin1-database. Zorg ervoor dat u de standaardtekenset in uw database voor op utf8 zet importeren, anders krijg je gewone vraagtekens waar de speciale tekens stonden. Dit kan natuurlijk nog tal van andere gevolgen hebben, dus test als een hel eerst.

En als u tabellen heeft die niet zijn ingesteld op de standaardschema's:

(hetzelfde idee als je kolomspecifieke tekenset-instellingen hebt, moet je een ALTER TABLE [tabel] doen KOLOM WIJZIGEN [instellingen] zonder CHARACTER SET op te geven, zodat het teruggaat naar de standaardtabel)




  1. Hoe verander ik MySQL-tabelnamen op de Linux-server zodat ze niet hoofdlettergevoelig zijn?

  2. mySQL-query die Resource-id #5 retourneert

  3. Unieke sleutel in Oracle met voorbeelden

  4. Databasecontrolepunten in SQL Server