@Hellek
Люблю говорить и слышать суть

Ошибка в кодировании русских символов при создании дампа БД (hard mode)?

Кратко:
Есть своя ВДСка, при просмотре БД на сервере русские символы отображаются нормально, при создании дампа они кодируются в такой вид "Звонок Ñ Ð›ÐŸ" при заливке на новую ВДСку так же всё читается. При выводе через php на сайте тоже русские символы, НО! Недавно начали переносить проект на локальный хост и при загрузке такого кривого дампа в mysql openserver'а кракозябры так и записались как кракозябры и они же выводятся на сайта.

Подробней:
Возьмем для примера запрос SELECT cName FROM clients WHERE client_id = 65 - выводит "Михаил"
В дампе же это будет записано как "Михаил"
Пробовал менять кодировку при создании дампа, в лучшем случае кракозябры меняются на другие кракозябры или на знаки вопроса.

mysql ставился стандартный из стандартных репозиториев, настройки по умолчанию:
character_set_client latin1
character_set_connection latin1
character_set_database utf8
character_set_filesystem binary
character_set_results latin1
character_set_server latin1
character_set_system utf8
character_sets_dir /usr/share/mysql/charsets/
collation_connection latin1_swedish_ci
collation_database utf8_unicode_ci
collation_server latin1_swedish_ci

БД и таблица создавались со стандартной для СУБД кодировкой.
Экспортируемый файл по умолчанию определяется с кодировкой UTF-8

Кодировка кракозябр определяется автодекодером то как ISO-8859-1, то как Windows-1252, есть ещё несколько вариантов.
  • Вопрос задан
  • 800 просмотров
Решения вопроса 2
@zapimir
Вам сюда Исправление и преобразование кодировок таблиц MySQL
У вас кодировка соединения на сервере кривая (точнее latin1, а данные в utf8), нужно исправить, по ссылке выше, есть примеры.
Ответ написан
Комментировать
@Hellek Автор вопроса
Люблю говорить и слышать суть
Спасибо за подсказку zapimir. Viewer так и не заработал, выдает js ошибку после ввода доступов к базе, тоже самое про дампер. После ввода данных белый экран. Пробовал в разных браузерах открывать и на локальном хосте и на ВДСке, везде один результат.

Проблему практически решил.
В файле my.cnf внес в раздел [mysqld] следующий код
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake

Все в базе стало кракозябрами, но записанная кириллица отображается как кириллица и в дамп тоже она же выгружается.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы