19 Декабрь 2017, 01:28

Цитата дня:

Не допустить ошибок, значит прожить неполноценную жизнь. Стив Джобс


Ошибки при импорте базы в MySQL

Автор STALKER_SLX, 21 Октябрь 2017, 13:24

« предыдущая тема - следующая тема »

0 Пользователей и 1 Гость просматривают эту тему.

Вниз

STALKER_SLX

Здравствуйте, уважаемы форумчане!

Настраиваю веб-сервер на базе Ubuntu 16.04, на котором установлен MySQL 5.7.19.

Есть дамп базы сайта для Drupal версии 6 (судя по конфигу) в кодировке utf8.
Сайт и данный дамп точно были рабочими до меня (так на всякий случай).

Создаю новую базу в MySQL командой:
create database sanaciadb default character set utf8 collate utf8_general_ci;


Пытаюсь импортировать дамп базы:
mysql -u root -p sanaciadb < sanacia.sql

В итоге вылетает ошибка:
«ERROR 1366 (HY000) at line 1324: Incorrect string value: '\xCC\xE5\xE4\xEF\xEE\xEC...' for column 'title' at row 1»

В строке 1324 базы «sanacia.sql» содержится такой текст:
«INSERT INTO `menu_custom` VALUES ('menu-medhelp', 'Медпомощь', '');»


Подскажите, пожалуйста, что я делаю не так?! В каком направлении копать?!

П.С.: погулив немного на эту тему - внятных для себя ответов пока не получил.
Но понимаю, что проблема связанна именно с кодировкой.

Уваров А.С.

Далеко не факт, что исходная база именно utf-8, посмотрите на старом сервере кодировку и сопоставление для старой базы и создайте новую с такими-же параметрами.

STALKER_SLX

Так сложились обстоятельства, что старого сервера нет.
При просмотре содержимого данного дампа через «Notepad», везде указано значение «DEFAULT CHARSET=utf8».
Кроме того, сам дамп был сделан с помощью «phpMyAdmin SQL Dump -- version 2.6.1» - если это имеет какое-то значение в данной ситуации.
Есть ли какие-то другие пути решения данной задачи, кроме как связываться с создателем этого творения?!
Спасибо!

Уваров А.С.

Кроме кодировок таблиц есть еще кодировка самой базы и ее сопоставление. Скажем база в кодировке latin1 вполне может иметь внутри таблицы в utf-8, но если вы попытаетесь залить такой дамп в utf8 базу - получите крякозяблики.

В вашем случае можно попробовать удалить из дампа эту строку, а потом создать ее руками. Либо попробуйте утилиту Sypex Dumper, бесплатной версии вполне достаточно для ваших целей, нас она несколько раз выручала в аналогичных ситуациях, когда были чужие дампы и было совсем непонятно как их заливать.

Вверх