關於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即可。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章