#include <iostream>
#include <string>
int main()
{
std::string str = "这是中文";
std::string *sp = &str;
std::cout << str << std::endl;
}
以上这段代码的输出为:
在更改执行字符集编码格式为UTF-8之后:
#include <iostream>
#include <string>
// 设置执行字符集为UTF-8
#if _MSC_VER >= 1600 /* 1600 is Microsoft Visual Studio 2010 */
#pragma execution_character_set("utf-8")
#endif
int main()
{
std::string str = "这是中文";
std::string *sp = &str;
std::cout << str << std::endl;
}
运行结果为:
可见,这产生了乱码,而产生的原因就是因为,我们的可执行文件的字符集编码为UTF-8,而我们的windows系统环境中的字符集编码格式为GBK,从而产生编码混乱。
可以更改windows系统环境的字符编码格式,从而使其与我们的内存执行字符编码相同,以此来解决乱码问题。操作过程如下:
1.打开控制面板,点击 “时钟和区域”
2.点击 “区域”
3.点击 “管理”标签页, 然后点击 “更改系统区域设置”
4.将下图中的选项打勾即可