英文XP下读access的中文为乱码,急在线等
我的程序在中文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();
}
期待高手解决,问题很急!!!!!!
解决后马上结贴
但是到英文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();
}
期待高手解决,问题很急!!!!!!
解决后马上结贴
...全文
相关推荐
Access密码查看破解
本文介绍了ACCESS2000密码查看器V4的功能更新与使用说明,支持查看ACCESS97、ACCESS2000及ACCESS XP数据库的密码,修复了多位密码限制、乱码问题,并新增复制密码等功能。软
将Access 数据库中图文信息导出到Word 文档的方法
遗憾的是,早期版本的Office XP和Office 2003中的Access并未提供直接将备注型字段中的图文混编内容按原格式导出到Word文档或RTF格式文件的功能。
Access2000迁移到Oracle9i要点
//otn.oracle.com/tech/migration/focusareas/Access.html)),下载适用于Microsoft Windows 98/NT/2000/XP的Oracle
VC下如何访问共享的access数据库
- **编码问题**:如果数据库包含非ASCII字符,需注意字符编码设置,避免乱码。通过以上步骤,你可以在VC环境中成功访问共享的Access数据库。
易语言源码易语言EXCEL转ACCESS模块源码
所有字符串操作均采用Unicode编码处理,彻底规避中文路径、中文字段名、中文数据内容引发的乱码问题。


