问题
char *str = "try try try";
将其保存为utf-8格式,按utf-8格式打印是乱码
怎么解决
这样定义的字符串还是为gbk编码,按utf-8保存也只是将文件保存为utf-8格式的文件,并不能将字符串转化成utf-8格式。
换一下定义方式就可以解决
char a[] = "xxx"; // 由编译器决定,在简体中文版的vs下为gbk编码
wchar_t b[] = L"xxx"; // 宽字符,编码不确定,在VC中为UTF16,gcc为UTF32
char c[] = u8"xxx"; // utf8编码
char16_t d[] = u"xxx" // UTF-16编码
char32_t e[] = U"xxx" // UTF-32编码
这里是我的博客