我的程序是用ADO来连接Mysq数据库的,这是原先写好用在MSSQL上的,改了下连接字符串,所以也就没有用MySql C++ API来重新写了。刚开始使用MySql,遇到的问题总是特别的多,现在又遇到一个主要sql字符串中有中文就报错的问题,没有中文一切正常,整整弄了一个上午,在网上也找了很多资料,发现网上很多东西确实是在蒙人,按他们的方法来结果都是一样的,还是错误。
现在终于把问题搞定了,共享下自己的学习经验吧。
用ADO连接MySql数据库要想避免中文乱码等问题,首先要保证数据选用的编码格式为GBK(这是许多前辈们建议的,这个字符集支持的比较多),而且在MySql中还可以设置表的,字段的编码格式。
其次,在ADO连接代码中做必要的设置,具体设置如下:
两方面都保证了以后问题应该就可以搞定了,不过我想并不一定一定要使用GBK,能保证两边的编码格式一致应该就行。