不能使用mysql命令行使用Unicode字符

时间:2014-09-09 21:50:49

标签: mysql command-line

我使用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行

如果我在工作台客户端中执行相同的insert语句,它可以正常工作。它只使用命令行...

给出错误

任何提示?

1 个答案:

答案 0 :(得分:1)

.sql文件应该是UTF8编码的。文本编辑器应该有一个设置来保存它。