Кодировка дампа базы 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

  1. admin:

    Пробуем протестировать публикацию комментария без ссылки на сайт автора комментария