插入汉字要成功,需要三个编码一致:建立表时指定的字符集编码,会话的编码(连接数据库之后SET NAMES语句),SQL语句文本的编码
如果是在DOS下的MYSQL命令提示符下执行语句,由于DOS窗口只能是ANSI字符,无法操作UTF8编码的表,建议在PHPMYADMIN或者其它管理工具里面执行SQL语句。
编码不兼容的时候,一般是乱码,但是报错也是可能的,因为不同编码要求的字节数不一样,例如UTF8一个汉字是三个字符,ANSI的语句只给了两个字符,那么后面的单引号就会被吃掉,导致语法错误。