yuedechuangling
月弦断歌
2018-10-29 13:14

英文操作系统中,MFC读取ini文件字符串,中文乱码!!?求助求助!

  • 读取ini文件
  • 英文操作系统
  • 中文乱码
  • mfc

** 环境**:英文操作系统,win7-x64, vs2012,;

** 程序**:多字节的MFC,32位;

文件:要读取的ini文件是Ansi编译环境的;

** 想实现的目标**:GetPrivateProfileString读取ini文件中的中文字符串;
具体代码如下
GetPrivateProfileString( "SystemConfig", "CurProductFile", "", str.GetBuffer( 256 ), 256, path );

要读取的INI文件中的内容
[SystemConfig]
CurProductFile=G:\我的文档\MyProject\Debug\ProductFiles\PCB1.dat

结果问题!!:实际读取到的字符串结果str中,中文是乱码的!
乱码内容如下

str = "G:\ÎÒµÄÎĵµ\MyProject\Debug\ProductFiles\PCB1.dat"

中文都乱码了!崩溃了!

提示:我尝试将str从Ansi转Unicode,vs中显示中文正确!!!why?

CStringW strW;
…… str 到 strW 的转化操作……
strW = L"G:\我的文档\MyProject\Debug\ProductFiles\PCB1.dat"

环境语言设置:已经将控制面板中的语言设置成中文支持的格式:如下图

图片说明
图片说明
图片说明

提问:如何才能在英文操作系统中,多字节MFC程序中读取ini文件字符串,中文不乱码?或如何才能获取正常的多字节中文字符串?!

库存没有金币,欲哭无泪啊,虚心求教!!恳请高手指教!

  • 点赞
  • 回答
  • 收藏
  • 复制链接分享

3条回答