Unicode工程
代码如下:
TCHAR ss[256];
CString szIniPath = GetCruuentPath();
szIniPath += _T("cfg.ini");
GetPrivateProfileString(_T("Dise"),_T("IniURLFileName4"),_T("blank:about"),ss,sizeof(ss),szIniPath);
AfxMessageBox(ss);
ini文件中读取的内容为: English\中文.htm
中文系统下运行结果正常
英文系统下,中文成了乱码
请大家看看,这里用法有什么问题没有?
代码如下:
TCHAR ss[256];
CString szIniPath = GetCruuentPath();
szIniPath += _T("cfg.ini");
GetPrivateProfileString(_T("Dise"),_T("IniURLFileName4"),_T("blank:about"),ss,sizeof(ss),szIniPath);
AfxMessageBox(ss);
ini文件中读取的内容为: English\中文.htm
中文系统下运行结果正常
英文系统下,中文成了乱码
请大家看看,这里用法有什么问题没有?
话你的英文windows设置了语言区域为中文吗?还有开头要调setlocale
几个办法都试试看
工程中用到很多中文内容,比如sqlite数据库中的数据存在中文
硬盘文件也存在中文路径和中文文件名
在没有修改系统语言,即系统语言为英文的情况下,这些中文都正常处理
现在就剩下读取ini文件的问题,这里读取出来的是一个文件路径
其它API函数在处理中文字符的时候,都是正常的
就GetPrivateProfileString函数返回的字符存在乱码
难道GetPrivateProfileString使用有什么特殊要求?
就当前工程而言,我可以把这些内容放进数据库里
我发这个贴子,是想讨论一下GetPrivateProfileString函数的问题
为什么Unicode下,中文处理仍然存在问题
在我用的英文系统中
AfxMessageBox(_T("中文");
MessageBox的弹出内容是正常的
下班先
回家后再上来
谢谢各位