sql >> Database >  >> RDS >> Mysql

MySQL Latin1-gegevens converteren naar UTF8

Ik heb dit soort gevallen gehad in oude wordpress-installaties met het probleem dat de gegevens zelf al in UTF-8 stonden in een Latin1-database (vanwege de WP-standaardtekenset). Dit betekent dat er geen echte behoefte was aan conversie van de gegevens, maar de ddbb- en tabelformaten. In mijn ervaring raken dingen in de war wanneer de dump wordt gedaan, omdat ik begrijp dat MySQL de standaardtekenset van de klant zal gebruiken, die in veel gevallen nu UTF-8 is Zorg er daarom voor dat het exporteren met dezelfde codering van de gegevens erg belangrijk is. In het geval van Latin1 DDBB met UTF-8-codering:

$ mysqldump –default-character-set=latin1 –databases wordpress > m.sql

Vervang vervolgens de Latin1-referenties in de geëxporteerde dump voordat u ze opnieuw importeert naar een nieuwe database in UTF-8. Soort van:

$ replace "CHARSET=latin1" "CHARSET=utf8" \
    "SET NAMES latin1" "SET NAMES utf8" < m.sql > m2.sql

In mijn geval deze link was van grote hulp. Reageerde hier in spaans .



  1. Regex om te zien of een getal binnen een bereik valt, bijvoorbeeld 1,3,10-15,17

  2. Uitvoeringsvolgorde van voorwaarden in SQL 'where'-clausule

  3. Bereken het verschil tussen 2 datums / tijden in Oracle SQL

  4. Tijdstempel zonder wijziging bij update