发送字符串和wstring firebird数据库有什么区别?

时间:2013-12-11 17:32:00

标签: c++ string encoding utf-8 firebird

您好我有一个UTF-8编码的字符串,并尝试插入到firebird数据库中。插入成功就像UTF-8字符串一样。

我试图将UTF-8字符串作为wstring(下面的转换方法)发送,我看到我的SQLExecute语句崩溃了我的应用程序。

for(int i=0;i<len;i++)
{
    sC = pBuf[i];
    dC = sC;
    nString[i]= dChar;
}

其中pB is const char * sC is unsigned char dC is wchar_t nString is wstring

以下是失败的字符串:My Stringß(UTF-8)

转换为wstring字符串后,

看起来像My StringÃ,但在调试器中还有一个字符159L''。

现在我想知道为什么它不会在UTF-8上崩溃而且在UTF-8的wstring上崩溃。有什么不同?

Related question: Firebird crashes on UTF8 string converted to wstring

0 个答案:

没有答案