无法在windows的命令行中导入由mysqldump.exe创建的以下转储文件
/*!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谁来帮帮我。
发布于 2014-02-13 21:31:35
最后我得到了一个解决方案
我们需要两个选项
--default-character-set=utf8:此选项可确保为每个字段使用--result-file=file.sql:UTF8。此选项可防止转储数据通过可能不使用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来源:http://nathan.rambeck.org/blog/1-preventing-encoding-issues-mysqldump
发布于 2014-02-13 19:49:45
输入文件(mysqldumpfile.sql)似乎是用UTF-8编码创建的,所以在.SQL文件中看不见的前3个字节就是byte order mark (BOM) sequence
所以尝试使用change default character set to UTF-8
mysql --user=root --password=root --default_character_set utf8 < mysqldumpfile.sql发布于 2016-03-01 11:02:21
如果您需要导入数据库,这是Windows下需要执行的导入命令:
mysql --user=root --password=root --default_character_set utf8 database2 < database1.backup.sqlhttps://stackoverflow.com/questions/21752550
复制相似问题