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

Konvertering af MySQL-tabel med forkert kodede data til UTF-8

Denne metode nedenfor ser virkelig lovende ud og endnu bedre, smuk i sin enkelhed. Ideen er, at du mysqldumper hele din database som latin1, og derefter importerer den igen kodet som utf-8.

Eksporter:

Importer:

Jeg tager ikke æren for denne løsning, den er fuldstændig fra Gareth Prices blog . Det har virket for alle, der har efterladt ham en kommentar indtil videre:"Wow mand, du har lige reddet mit liv. Jeg brugte ikke 2 timer på det her, men 2 dage" fangede min opmærksomhed.

Opdatering #1: Det ser ud til, at Gareth var ikke den første at opdage dette.

Opdatering #2: Jeg har lige prøvet dette, og det fungerede smukt for min UTF8-stored-as-latin1 database. Bare sørg for at ændre standardtegnsættet på din database til utf8 før importere, ellers ender du med almindelige spørgsmålstegn, hvor specialtegnene var. Dette kan selvfølgelig have mange andre konsekvenser, så prøv som helvede først.

Og hvis du har nogen tabeller, der ikke er indstillet til skemastandarden:

(samme idé, hvis du har nogen kolonnespecifikke tegnsætindstillinger, skal du lave en ALTER TABLE [tabel] SKIFT KOLONNE [indstillinger] uden at specificere CHARACTER SET, så det går tilbage til tabelstandarden)




  1. Hvordan tilføjer jeg en kontrolbegrænsning i en Rails-migrering?

  2. Hvordan får man kun cifre fra streng i mysql?

  3. Hvorfor opretter postgres ikke databasen?

  4. Sådan tilføjes en titel til en formularoverskrift i Microsoft Access