我用ADO连Access,当区域和语言格式设为英文时,从Access取出的中文为乱码。但当区域和语言格式设为中文时,则一切正常。这个能否在连接字串中设?
不好意思,我没币了。
主要是区域设置中的非unicode字符集决定的。
如果你希望中文不乱码,应该用nvarchar ntext等支持unicode的类型。
另外你的VC那里也要使用unicode字符串。
因为中文需要编码和对应的字符集,你英文怎么也没法处理中文。
_variant_t vtFld = m_ptrRecordset->Fields->GetItem(lpcsrFieldName)->Value;
if(vtFld.vt==VT_BSTR)
{
strValue = (char*)_bstr_t(vtFld);
strValue.TrimLeft();
return true;
}