1.原因
std::string不支持utf8编码,因此在调试器中看到的是乱码,并且使用一些不支持utf8编码的api判断该字符串对应的文件路径时,也会判定失败。所以要想在调试过程中正常显示utf8编码的中文内容,就要把字符串转换成gbk编码
2.解决
string UTF8ToGB(const char* str)
{
string result;
WCHAR* strSrc;
LPSTR szRes;
//获得临时变量的大小
int i = MultiByteToWideChar(CP_UTF8, 0

本文探讨了C++在处理UTF8编码时,在调试器中出现乱码的原因,指出std::string不支持UTF8导致的问题。同时,提到了在调试过程中判断包含UTF8编码的文件路径可能导致失败的情况。为了解决这个问题,文章建议将字符串转换为GBK编码以正常显示中文内容,并引用了一个详细的解决方案链接。


被折叠的 条评论
为什么被折叠?



