
正常不会乱码,在键盘录入修改name字符串之后,再打印字符串就会乱码(英文不会乱码(废话)),vscode右下也是显示utf8,我也是勾选了windows系统的Beta版那个设置

阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程
你遇到的问题是:在键盘录入修改name字符串之后,再打印字符串就会乱码,英文不会乱码。
可能的原因是:VSCode的编码设置可能不是正确的。
解决方案:
File菜单中选择Settings,然后在搜索框中输入file.encoding,确保其设置为utf-8。#pragma comment指令,例如:#pragma comment(lib, "iconv.lib")
chcp命令来设置编码。例如:chcp 65001
这将设置编码为UTF-8。
iconv库来转换编码。例如:#include <iconv.h>
iconv_t cd = iconv_open("UTF-8", "GBK");
char* str = "中文字符串";
iconv(cd, &str, strlen(str), &str, NULL);
iconv_close(cd);
这将将GBK编码的字符串转换为UTF-8编码。