日期:2014-05-16  浏览次数:20740 次

读取MySQL里数据表的数据(表里中文字符),然后放在VC界面上就出现乱码,不知道该咋办了?
我在编写网页程序的时候,遇到一个问题。我的数据库建立的时候,每一个表都是用了“default charset=utf8”这句话。在往数据表里添加数据的时候,一些数据项里面写中文字符,再在MySQL里面查询观察结果没有出现乱码的现象。可是使用VC编写的程序查询的时候,在VC对话框界面上显示查询结果的过程中却出现了乱码。
在网上查了一下,有些人说可以使用“set names utf8”,但是我使用这句话的时候却弹出“Set Names not Allowed By Driver”这个对话框,不知道该怎么办了,请指点。
我的MySQL Server是5.5的,ODBC是5.1的。一些代码见下面:

#define CONNECT_COMMAND _T("DSN=RadioSourceData;Driver={MySQL ODBC 5.1 Driver};UID=root;PWD=root")
m_DataBase.OpenEx(CONNECT_COMMAND, CDatabase::openReadOnly | CDatabase::noOdbcDialog);
m_DataBase.BeginTrans();
m_DataBase.ExecuteSQL(_T("set names utf8"));  
m_DataBase.CommitTrans(); //提交事务

------解决方案--------------------
set names gbk;
------解决方案--------------------
用set names utf-8试一下
------解决方案--------------------
直接先用命令行工具访问一下表中的记录,看记录中的中文是否正常。