[問題] C++/MFC 與 MySQL++ 亂碼問題
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
VC++
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
MFC, Mysql++
問題(Question):
我有一支 MFC 程式,連到 MySQL DB 讀資料
我的 MySQL Table 編碼是 utf8_unicode_ci,存了很多國語言的資料
程式讀出來後以 CString 儲存
後來我要將資料寫回去
我將讀出來的資料轉成 CStringA (因為要寫 SQL)
下 query 後,很多非英數字都變成了亂碼...
後來在連結資料庫後先下以下 query 後
亂碼的情況似乎好一些(?),但仍是有很多字消失或變成 ? 了,問題還是沒解決
SET NAMES utf8
SET CHARACTER_SET_CLIENT=utf8
SET CHARACTER_SET_RESULTS=utf8
我還試過將讀出來的東西再轉一次 UTF-8,仍是亂碼
又試過將讀出來的資料 MultiByteToWideChar 以 CString 儲存
寫回去時再轉回來,以 CStringA 儲存,還是亂碼
(以上都有先加上 SET NAMES... 那三行)
請問版上的高手,這問題我該如何修正呢?
是否是我沒搞清楚 CString、CStringA、WideChar、...這些的差別?
程式碼(Code):(請善用置底文網頁, 記得排版)
http://ideone.com/zqz8U <= 範例程式
補充說明(Supplement):
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 210.63.100.2
※ 編輯: seoker 來自: 180.218.129.84 (01/31 22:53)
→
01/31 23:08, , 1F
01/31 23:08, 1F
→
01/31 23:11, , 2F
01/31 23:11, 2F
→
01/31 23:11, , 3F
01/31 23:11, 3F
→
02/01 10:05, , 4F
02/01 10:05, 4F
→
02/01 10:05, , 5F
02/01 10:05, 5F
→
02/01 10:13, , 6F
02/01 10:13, 6F
→
02/01 10:15, , 7F
02/01 10:15, 7F
推
02/01 10:34, , 8F
02/01 10:34, 8F
→
02/01 10:35, , 9F
02/01 10:35, 9F
→
02/01 10:36, , 10F
02/01 10:36, 10F
→
02/01 10:36, , 11F
02/01 10:36, 11F
→
02/01 10:47, , 12F
02/01 10:47, 12F
→
02/01 10:49, , 13F
02/01 10:49, 13F
→
02/01 10:50, , 14F
02/01 10:50, 14F
→
02/01 11:43, , 15F
02/01 11:43, 15F
討論串 (同標題文章)
完整討論串 (本文為第 1 之 3 篇):
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章