草庐IT

c++ - UTF-8、CString 和 CFile? (C++,MFC)

我目前正在开发一个必须使用UTF-8的MFC程序。在某些时候,我必须将UTF-8数据写入文件;为此,我使用CFiles和CStrings。当我将utf-8(更准确地说是俄语字符)数据写入文件时,输出看起来像Ðàñïå÷àòàíî:ÑèñòåìàÏðîèçâîäñòâî等等。这肯定不是utf-8。要正确读取这些数据,我必须更改我的系统设置;将非ASCII字符更改为俄语编码表确实有效,但随后我所有基于拉丁语的非ASCII字符都会失败。不管怎样,我就是这样做的。CFileCSVFile(m_sCible,CFile::modeCreate|CFile::modeWrite);CStrings