问题:数据库使用MySQL 8.0,有一张数据表student,其中有一个字段gender的数据类型为char(1),通过ADO获取其内容出现乱码。
解决过程:
1、通过观察应用程序和数据库表的编码发现,应用程序默认使用的字符集为Unicode,而MySQL表的字符集为utf8mb4,如下所示。
2、通过无数的搜索,最终还是没有找到解决方案 ,看来还是得靠自己去探索。不经意间,包含在ADO的连接字符串中“Driver={MySQL ODBC 8.0 ANSI Driver};”映入眼帘。
3、马上回过神来,去查看一下安装的MySQL驱动(大概之前有浏览过),发现还有一个叫“MySQL ODBC 8.0 Unicode Driver”的驱动。在个人强大的CPU的运算下,应该可以去把ADO的连接字符串中的Driver修改为“MySQL ODBC 8.0 Unicode Driver”。果然,经过这么一变更,乱码问题得到解决。