Проблема с кодировкой символов после смены серверов
Недавно я перенес свой сайт на WordPress с VPS DreamHost на VPS Linode, работающий на Debian + LEMP. После запуска сайта я заметил множество ошибочных символов в постах; такие символы как " и - были заменены на нечитаемые знаки.
После некоторого исследования стало ясно, что проблема была связана с кодировкой символов.
Я нашел руководство, в котором предлагалось отредактировать wp-config.php
и закомментировать следующие строки:
define('DB_CHARSET', 'utf8');
и define('DB_COLLATE', '');
Я сделал это, и проблема была решена, но я задаюсь вопросом, был ли это лучший способ решения. Спасибо за любой совет.
После целого дня работы над этим я наконец нашел руководство, которое сработало идеально:
До этого я пытался следовать информации от @Rarst, пробовал экспортировать базу данных и вручную очищать её, пробовал плагин UTF-8 Sanitize с модифицированной версией отсюда http://www.prelovac.com/vladimir/ultimate-solution-to-weird-utf-character-encoding-problem (который, кстати, работал довольно хорошо, но не исправил все символы. И, вероятно, это была ужасная идея).
В любом случае, если кто-то из вас столкнется с этой проблемой, посмотрите первую ссылку, которую я указал. Процедура была довольно простой и сводилась к замене SET NAMES latin1
на SET NAMES utf8
после экспорта базы данных, а затем к импорту новой очищенной базы данных явно как UTF8.

Плагин UTF8 Sanitize работает у меня (хотя плагин довольно старый - не обновлялся 2 года, как указано в этом комментарии https://wordpress.org/plugins/wp-utf8-sanitize/), исправляя неочищенный дамп базы данных.

Как это "другое решение"? То же самое уже было отмечено в вопросе; он попробовал закомментировать эти две строки в wp-config.php, и это сработало, но он хотел узнать, есть ли лучшее решение. Ваш ответ ничего не добавляет.

См. Преобразование кодировок базы данных в Кодексе. В статье есть примечание о том, что она была полностью переписана для версии 3.0.1, поэтому информация должна быть актуальной.
