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

Como este site está corrigindo a codificação?


Como o problema era uma falha do MySQL com strings UTF8 de codificação dupla, o MySQL é o caminho certo para resolvê-lo.

A execução dos seguintes comandos resolverá isso -
  • mysqldump $DB_NAME -u $DB_USER -p -h $DB_HOST.EXAMPLE.NET --add-drop-table --default-character-set=latin1 > export.sql - latin1 é usado aqui para forçar o MySQL a não dividir os caracteres e não deve ser usado de outra forma.
  • cp export{,.utf8}.sql - fazer uma cópia de segurança.
  • sed -i -e 's/latin1/utf8/g' export.utf8.sql - Substituindo o latin1 por utf8 no arquivo, para importá-lo como UTF-8 em vez de 8859-1.
  • mysql $DB_NAME -u $DB_USER -p -h $DB_HOST.EXAMPLE.NET < export.utf8.sql - importe tudo de volta para o banco de dados.

Isso resolverá o problema em cerca de dez minutos.