表里面存储的是中文,但是通过代码读出就是乱码???了
问题大概如标题所示,因为C++的程序是在英文环境下开发的,环境暂时改变不了,大家帮我想想办法能不能从表里读出中文并正确输出?
if ( EmailText.Find(T( "%V ")) > = 0 )
{
CStringstrMerchantName;
if (site.ProvID > 0)
{
MSqlWhere where;
where.And(T( "ProvID= "), site.ProvID);
dLookup(strMerchantName, T( "ProvCompany "), T( "Providers "), where);
}
EmailText.Replace(T( "%V "), strMerchantName);
}
-----------------
ProvCompany这个字段存储的就是中文内容,但是替换%V之后就是乱码,谁有办法请不吝赐教!
[解决办法]
所有字符串都加了可编译为UNICODE版本的宏T,你就编译为UNICODE版本,并且看读出字符的编码是不是相符,应该就没问题了.
[解决办法]
EmailText.Replace(T( "%V "), strMerchantName);
在这之前打印strMerchantName看看,是否已经乱码?
[解决办法]
读一下 英文内容的表,
看看是否正确。