一套系统稳定运行了一段时间,突然有一天客户来电说,有一条数据提交失败;拿到用户的数据后模拟测试,向数据库写数据时出现一个#HY000incorrect string value …… 异常,百思不得其解,经过多次测试,发现只要删除用户数据中的 “旻” 字就可以正常提交数据,猛然想到是数据库字符集的问题,当初建数据库时使用了gb2312字符集,而“旻”在gb2312字符集中并不存在,导致提交失败,修改数据库的字符集为gbk后,提交用户数据成功。
考虑到现在越来越多的人喜欢用一些生僻字,gb2312通常不包含这些生僻字,以后中文字符直接使用gbk字符集,避免无谓的麻烦。