0
在一個C++程序中,我試圖使用OLE DB從MSSQL數據庫中讀取數據。我試圖讀取的列是VARCHAR類型。該列中的數據是從多值數據庫導入的。有時列中的數據有一個分隔符。分隔符是一個值標記(0Xfd)。我隱蔽從表中讀取到一個char *這樣的數據:不應將VARCHAR數據轉換爲char *(MSSQL OLE DB)?
retcode = WideCharToMultiByte(CP_UTF8, 0, (WCHAR*)pDBColumnAccess[nCol].pData, -1, (char *)pReadBuf, pDBColumnAccess[nCol].cbDataLen, NULL, NULL);
一切都很好,如果數據不包含上述分隔符 - 值標記(0xfd)。但是當分隔符存在時,在轉換的數據中,值標記被一些垃圾字符替換。
不應該在VARCHAR的情況下轉換爲char *嗎?僅僅複製數據就足夠了,因爲它沒有任何覆蓋?
UTF Converter非常有用,感謝您的回覆和鏈接。我acutually意味着0x00FD。 – Sanish