При импорте ошибки файла mysqldump 1064 (42000) рядом с "■ / " в строке 1
не удается импортировать файл дампа, созданный mysqldump.exe в командной строке windows
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `attachment_types` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`DESCRIPTION` varchar(50) DEFAULT NULL,
`COMMENTS` varchar(256) DEFAULT NULL,
PRIMARY KEY (`ID`),
UNIQUE KEY `UK_ATTACHMENT_TYPES___DESCRIPTION` (`DESCRIPTION`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1;
при импорте файла в командной строке
mysql --user=root --password=root < mysqldumpfile.sql
он выдает ошибку
ERROR 1064 (42000) near ' ■/ ' at line 1
кто-нибудь, пожалуйста, помогите мне.
3 ответов
наконец-то я получил решение
нам нужно два варианта
-
--default-character-set=utf8
: это обеспечивает UTF8 используется для каждого поле -
--result-file=file.sql
: этот параметр предотвращает данные дампа от прохождения через операционную систему, которая, вероятно, не используйте UTF8. Вместо этого он передает данные дампа непосредственно в файл указанный.
используя эти новые параметры, ваша команда дампа будет выглядеть примерно так:
mysqldump -u root -p --default-character-set=utf8 --result-file=database1.backup.sql database1
пока Импорт вы можете дополнительно использовать:
mysql --user=root --password=root --default_character_set utf8 < database1.backup.sql
Source:http://nathan.rambeck.org/blog/1-preventing-encoding-issues-mysqldump
Кажется, что входной файл (mysqldumpfile.в SQL) был создан в UTF-8
кодирование таким образом, эти первые 3 байта" в строке 1 " невидимы для вас .Sql-файл-это последовательность знаков порядка байтов (BOM)
так попробуй изменить набор символов по умолчанию на UTF-8
mysql --user=root --password=root --default_character_set utf8 < mysqldumpfile.sql
это команда импорта, которую я требовал в Windows:
mysql --user=root --password=root --default_character_set utf8 database2 < database1.backup.sql
необходима база данных для импорта в