目录
0.环境
1.简介
2.有效的解决办法
3.尝试过但无效的方法
1)在终端设置utf-8语言
2)用Notepad++ 修改编码
3)在vs-code中,修改编码规则,使用【Reopen with Encoding】
0.环境
windows11 + VS-code + c++
1.简介
一个小项目,用pugiXML操作字符串写入word,在写入中文的时候,编译不报错,但是运行vs-code会报错:error C2001: 常量中有换行符,代码中也会标红。
网上找了很多解决方式都是vs的,没有vscode的,我也试了很多方式,最终解决掉了,分享给同样遇到此类问题的朋友们。
2.有效的解决办法
在vs-code中,修改编码规则,使用【Save with Encoding】
在vs-code右下角找到【UTF-8】,点击后页面上方会出现选项菜单
选择【Save with Encoding】
选择【UTF-8 with BOM】
然后重新编译运行,报错消失,编译通过
3.尝试过但无效的方法
1)在终端设置utf-8语言
在vs-code的终端,输入【[Console]::OutputEncoding = [System.Text.Encoding]::UTF8】
然后可以用命令【 [Console]::OutputEncoding】进行查询
但是我设置之后还是会报错,以上方法参考博客
解决vscode终端乱码问题【疑难杂症,使用chcp命令修改活动代码页无效的解决方法】_vscode改了编码不生效-CSDN博客
2)用Notepad++ 修改编码
转换为其他编码时,连注释中的中文都会出错,所以放弃
3)在vs-code中,修改编码规则,使用【Reopen with Encoding】
在vs-code右下角找到【UTF-8】,点击后页面上方会出现选项菜单
选第一个【Reopen with Encoding】,然后选择【UTF-8】或【UTF-8 with BOM】
还是会报错
总之,通过2中的方法解决了我的报错,在此记录分享
--END--