Кодировка дампа базы MYSQL | MYSQL
Вы уверены что ваш дамп базы который вы складываете в папку для бэкапов пишется в нужной для вас кодировке? Я тоже был уверен но один раз дамп оказался не в той кодировке в которой было нужно (просто не проверял). :) Вместо кирилицы – знаки вопросов.
По умолчанию, если кодировки базы данных и заданные по умолчанию кодировки отличаются можем получить на выходе нечитаемый дамп (мусор в данных, знаки вопроса и т.д.)
Лечится так: заходим в базу (mysql – u root -p) и делаем запрос:
show variables like '%char%';
Должен показать character_set_client, character_set_connection и character_set_results
Сравниваем с кодировками таблиц дампа (если установлены). Приводим в соответствие в my.cf – в раздел [mysqldump] добавляем:
default-character-set=utf8
Или в вебмине есть настройка – указать кодировку таблиц дампа (но без установки переменных не работает).
Плюс комментируем переменную – skip-charachter-set-client-handshake
Должны получить дамп в нужной кодировке.
Делаем дамп в коммандной строке так:
mysqldump -uUSERNAME -pPASSWORD DB_NAME --allow-keywords --create-options --complete-insert --default-character-set=latin1 --add-drop-table > dump.sql
Статья на тему http://www.phpfaq.ru/charset
Пробуем протестировать публикацию комментария без ссылки на сайт автора комментария