varchar存汉字是可以的,如果你存入的时候报错了,那很可能是字符集不正确的问题。即中文汉字因为字符集不正确被错误的转成了一堆乱码,存入数据库的时候报非法字符错。你仔细检查一下。
把字符集更改为utf8就可以了 亲测有效
是不是你的varchar长度不够,