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.