Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Corrigindo codificações


Seu texto foi codificado para UTF-8 e então recodificado, erroneamente, como Mac Roman .

Você não poderá corrigir isso dentro do banco de dados, pois o MySQL não conhece a codificação Mac Roman. Você pode escrever um script para percorrer cada linha de cada tabela afetada e corrigir o texto invertendo o ciclo de codificação/decodificação. Python é uma possibilidade, tendo uma boa variedade de codificações:
>>> print u'é'.encode('macroman').decode('utf-8')
é
>>> print u'ö'.encode('macroman').decode('utf-8')
ö
>>> print u'í'.encode('macroman').decode('utf-8')
í

Alternativamente, se não houver conteúdo não ASCII que não seja afetado por este problema, você pode tentar usar mysqladmin para exportar um dump SQL e convertê-lo de uma só vez, usando um script como acima ou, se você tiver um editor de texto (presumivelmente no Mac) que possa fazer isso, carregando o script como UTF-8 e salvando-o como Mac Romano. Finalmente, reimporte o dump usando mysql < dump.sql .