Kategorien
Technik

Doppelt UTF-8 encodierten Text in MySQL beheben

Nur, für mich selbst, damit ich es nicht wieder vergesse. Wenn man doppelt UTF-8 encodierten Text in der Datenbank hat, dann kann man dies relativ leicht beheben.

UPDATE IGNORE tabelle SET spalte = CONVERT(binary CONVERT(spalte USING latin1) USING utf8) WHERE LENGTH(CONVERT(binary CONVERT(spalte USING latin1) USING utf8)) != CHAR_LENGTH(CONVERT(binary CONVERT(spalte USING latin1) USING utf8));

Das ganze habe ich mir natürlich nicht selbst ausgedacht, sondern von Joni Salonen geklaut.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.