【发布时间】:2014-09-09 21:50:49
【问题描述】:
我使用 mysql server 5.6 命令行发现了这种奇怪的行为。
如果我这样做:
source C:\Users\dyesdyes\Downloads\test.sql
这个文件中的代码是:
insert into `tWord`(`word`,`frequency`) values
('à',16994.68);
创建tWord表的SQL是:
CREATE TABLE IF NOT EXISTS `tWord` (
`idWord` INT(11) NOT NULL AUTO_INCREMENT,
`word` VARCHAR(45) CHARACTER SET 'utf8' COLLATE 'utf8_bin' NOT NULL,
`frequency` DOUBLE NULL DEFAULT NULL,
PRIMARY KEY (`idWord`),
UNIQUE INDEX `idWord_UNIQUE` (`idWord` ASC),
INDEX `word` (`word` ASC),
INDEX `idWord` (`idWord` ASC))
ENGINE = InnoDB
AUTO_INCREMENT = 0
DEFAULT CHARACTER SET = utf8;
错误是:
ERROR 1366 (HY000):不正确的字符串值:“word”列的“\xE0” 在第 1 行
如果我在工作台客户端中执行相同的插入语句,它工作正常。它只使用命令行给出错误...
有什么提示吗?
【问题讨论】:
-
您确定您的 .sql 文件是使用 UTF8 编码的吗?
-
这就是问题所在!让它成为一个答案。
标签: mysql command-line