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

Correzione delle codifiche

Il tuo testo è stato codificato in UTF-8 e quindi ricodificato, erroneamente, come Mac Roman .

Non sarai in grado di risolvere questo problema all'interno del database, poiché MySQL non conosce la codifica Mac Roman. Potresti scrivere uno script per esaminare ogni riga di ogni tabella interessata e correggere il testo invertendo il ciclo di codifica/decodifica. Python è una possibilità, avendo una buona gamma di codifiche:

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

In alternativa, se non sono presenti contenuti non ASCII non interessati da questo problema, puoi provare a utilizzare mysqladmin per esportare un dump SQL, quindi convertirlo tutto in una volta, usando uno script come sopra o, se hai un editor di testo (presumibilmente su Mac) che può farlo, caricando lo script come UTF-8 e salvandolo come Mac Romano. Infine reimporta il dump usando mysql < dump.sql .