我使用mysql服务器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;
错误是:
错误1366(HY000):字符串值不正确:'word'列为'\ xE0'
在第1行
如果我在工作台客户端中执行相同的插入语句,则可以正常工作。使用命令行只会给出一个错误...
有什么提示吗?
最佳答案
.sql文件应采用UTF8编码。文本编辑器应具有一个保存设置的设置。