我用void CRecordset::GetFieldValue(LPCTSTR lpszName, CString& strValue)来读取数据库,为什么读出来的中文是乱码?字段的类型为varchar2。谢谢!

解决方案 »

  1.   

    你VC工程用UNICODE编码方式,CString也自动变成UNICODE格式了,或者用WCHAR
      

  2.   

    支持UNICODE格式格式!
    用这个API吧,WideCharToMultiByte--》将取出的CString转换为char*显示!
      

  3.   

    能说详细一点吗?
    我用void CRecordset::GetFieldValue(LPCTSTR lpszName, CString& strValue)
    读出的strValue应该不是unicode的字符串,而且中文全变成了乱码。
      

  4.   

    通过查询数据库用到的字符集为AMERICAN_AMERICA.AL32UTF8,请问vc怎样设置成这种字符集?
      

  5.   

    m_pStat->execute("set names gb2312");
      

  6.   

    请问m_pStat是什么类型.谢谢!