mysql -1366 已经改成utf8,一会出错一会又不出错

数据库和cmd都设成了utf8

img

img

参数sno结尾设成52或者53就会报错

img

img

参数sname不用中文就不会报错

修改sno为char(12)就不报错了

img

想知道出错的原理是什么,除了修改char(12)还有什么办法

补充:

本来以为改成char(12)就正常了,结果又报错了

img

一怒之下改成32

img

再次补充:

我tm,参数sno改成自己的学号后又报错了,只好在姓名开头加一个下划线

这个明显是你的变量数据类型的定义不对,中文字符需要更多的字符数,建议改成varchar,可变的字符长度,然后字符大小弄大一点就可以了