关于C++用ODBC连接数据库中文显示乱码的问题

原博客:http://blog.csdn.net/yuanbohx/article/details/6648397

按照网上提供的ODBC连接数据库的相关资料编写代码,成功编译后运行发现,非中文字段显示正确,而中文字段却是每个汉字以?显示。关于这方面的错误baidu或google下可以找到很多解答方案,我也尝试过其中的一些,有些并没有成功解决,看来出现中文乱码的原因各不相同。在这里我只将我的解决方法贴出来,目的为了让因为这个原因而导致中文乱码问题的朋友成功解决问题。(其实我之前做过ODBC连接Sybase的工作,貌似也是这个原因,所以感觉中文乱码可能大多因此而出现,当出现乱码时,朋友们可以首先在这方面下功夫寻找解决方案)

首先来看一看乱码问题:

      

可以看到非中文字符能够正常显示,而中文字符不能够正常显示。

我这个问题出现的原因在ODBC数据源的设置上,首先在控制面板中找到管理工具,点击打开数据源(ODBC),找到为该操作配置的数据源,点击打开,然后对其进行配置:

进入配置界面后点击左下方的Details按钮:

在connect菜单下的Character Set中选择gb2312(之所以选择gb2312是因为在用phpmyadmin对MySQL进行管理时,创建的表及其中表项的字符集均为:gb2312_chinese_si),点击OK。

再次运行VC程序,可以看到乱码的问题解决了:

如果问题仍没有解决,可以尝试重启MySQL服务。如果仍不起作用,那就有可能是你遇到的问题和我不同,你可以在网上找寻其他的解决方案,祝你好运!

 

 

看了这个发现我的ODBC数据源设置里面没有可以更改字符集的选项,急死了,后来又找到一篇文章才解决问题,原来是mysql的ODBC驱动不是最新版,看下篇文章

原博客:http://fushidian.blog.163.com/blog/static/567656992012328112418920/

MYSQL 5 中文乱码 ODBC 数据源来解决  

2012-04-28 11:28:01|  分类: SAS研究 |  标签: |字号 订阅

困扰很长时间的mysql 中文乱码,一连接到其他数据就出现乱码,找到最终原因是因为mysql4.1以上都有字符集的功能,所以导致链接过程中存在乱码现象,查找ODBC发现,通过他可以缓解字符集问题。

到:http://www.mysql.com/downloads/connector/odbc/

    下载最新的ODBC 安装程序,(这么多版本啊)。

我下载windows版本即可,下载后安装,到控制面板中找到管理工具,找到ODBC数据源,新建。

按照数据库连接新建即可,新建后记得点击:Details》

 会出现具体连接编码设置(Character Set),这个是关键,做数据乱码处理的就是他。

然后单击OK即可。

展开阅读全文

没有更多推荐了,返回首页