我用默认的charset utf8创建了一个新表。然后我插入一些多字节字符串。
mysql> insert into table1 (val,val1,val2) values ("aaaéfff poeuo","asdf","asdf");
插入没有错误。当我选择此行时,val1
中的值已被截断为“aaa”。列val
定义为varchar(40)。
我无法理解为什么mysql不会使用utf8字符。
我已按照此处所述设置默认字符集:Change MySQL default character set to UTF-8 in my.cnf?。
当我输入show variables like 'char%';
时,一切都处于utf8模式。
可能出现什么问题?