插入的字段,有没有设置字符集? CREATE TABLE `t`( `id` INT(1), `name` VARCHAR(20) CHARACTER SET gbk NOT NULL /* 这里有没有设置呢?? */ )DEFAULT CHARSET=utf8;
试了一下,CREATE TABLE时在字段name字段后指定CHARACTER SET gbk,用SHOW FULL COLUMNS FROM test;显示已经转换成gbk了。 之后INSERT INTO test VALUES(0,'汉字');还是不行(把'汉字'换成'english'就可以),后来又CHARACTER SET gb2312,也不行。无语了
CREATE TABLE `t`(
`id` INT(1),
`name` VARCHAR(20) CHARACTER SET gbk NOT NULL /* 这里有没有设置呢?? */
)DEFAULT CHARSET=utf8;
试了一下,CREATE TABLE时在字段name字段后指定CHARACTER SET gbk,用SHOW FULL COLUMNS FROM test;显示已经转换成gbk了。
之后INSERT INTO test VALUES(0,'汉字');还是不行(把'汉字'换成'english'就可以),后来又CHARACTER SET gb2312,也不行。无语了
还有...你是在命令行里测试的把??
那进入命令行时,有输入
“SET NAMES gbk;”吗??
ERROR 1366 (HY000): Incorrect string value: '\xBA\xBA\xD7\xD6' for column 'name' at row 1
那就是你进入命令行时,没有输入
SET names gbk;
这条命令,在MySQL命令行中,如果要输入输入汉字,登录MySQL后第一步要输入的就是上面这命令了...
后来登录后输入SET names gbk;就正常了,谢谢。