英文XP下读access的中文为乱码,急在线等

huziwu huziwu 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我的程序在中文XP下运行,一切正常!!!
但是到英文XP下运行,所有从access数据库中读出的中文都显示为???,如果不是从数据库中读,直接在代码中赋值或从ini文件中读取,则可以正常显示中文。

我的程序是VC2005(VC6也试过一样结果),采用ADO连接access,采用Unicode与非Unicode编程都不行,结果还是一样。

网上找了,有的说是字符集不同,但是不知如何设置access的字符集,听说默认是ANSI,不知道怎么改!!!很多人遇到同样的问题,但大部分都是网页方面的。

也有说不能直接在access中输入中文,,要用程序输入。我用如下代码:
_variant_t GetVal;
CString csTmp;
while(!m_pRecordset->adoEOF)
{
GetVal = m_pRecordset->GetCollect(_T("Chinese"));//读取中文字段
m_pRecordset->PutCollect(_T("Chinese"), GetVal);//重新写回

//将PutCollect()换成用注释掉的代码:如下,中文系统正常,英文系统运行完下面代码后,整个库不能打开了
//库中还有别的很多张表,打开时提示格式错误
//csTmp = (LPCSTR)_b_str_(GetVal);
//csTmp+=_T("_New");
//m_pRecordset->PutCollect(_T("Chinese"), )_b_str_(csTmp) );
m_pRecordset->Update();
m_pRecordset->MoveNext();
}

期待高手解决,问题很急!!!!!!
解决后马上结贴
...全文

相关推荐

评论 10
收藏 已收藏
分享
返回顶部
huziwu
VC/MFC 16,550 成员 421,606 内容