Karena masalahnya adalah kesalahan MySQL dengan string UTF8 yang disandikan ganda, MySQL adalah cara yang tepat untuk menyelesaikannya.
Menjalankan perintah berikut akan menyelesaikannya -
mysqldump $DB_NAME -u $DB_USER -p -h $DB_HOST.EXAMPLE.NET --add-drop-table --default-character-set=latin1 > export.sql
- latin1 digunakan di sini untuk memaksa MySQL untuk tidak membagi karakter, dan tidak boleh digunakan sebaliknya.cp export{,.utf8}.sql
- membuat salinan cadangan.sed -i -e 's/latin1/utf8/g' export.utf8.sql
- Mengganti latin1 dengan utf8 dalam file, untuk mengimpornya sebagai UTF-8, bukan 8859-1.mysql $DB_NAME -u $DB_USER -p -h $DB_HOST.EXAMPLE.NET < export.utf8.sql
- impor semuanya kembali ke database.
Ini akan menyelesaikan masalah dalam waktu sekitar sepuluh menit.