Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Codierungen reparieren

Ihr Text wurde in UTF-8 kodiert und dann fälschlicherweise als Mac Roman .

Sie können dies nicht in der Datenbank beheben, da MySQL die Mac Roman-Codierung nicht kennt. Sie könnten ein Skript schreiben, um jede Zeile jeder betroffenen Tabelle zu durchlaufen und den Text zu korrigieren, indem Sie den Codierungs-/Decodierungszyklus umkehren. Python ist eine Möglichkeit, da es eine gute Auswahl an Codierungen gibt:

>>> print u'é'.encode('macroman').decode('utf-8')
é
>>> print u'ö'.encode('macroman').decode('utf-8')
ö
>>> print u'í'.encode('macroman').decode('utf-8')
í

Wenn es keinen Nicht-ASCII-Inhalt gibt, der von diesem Problem nicht betroffen ist, können Sie alternativ versuchen, mysqladmin zu verwenden Um einen SQL-Dump zu exportieren, konvertieren Sie ihn dann auf einmal, entweder mit einem Skript wie oben oder, wenn Sie einen Texteditor haben (vermutlich auf dem Mac), der dies kann, laden Sie das Skript als UTF-8 und speichern Sie es dann als Mac Römisch. Importieren Sie abschließend den Dump erneut mit mysql < dump.sql .