在Windows10中用cl工具(MSVC)进行C++/C的编译时发现:
- 在使用vscode任务的方式编译时,出现中文字符乱码
- 在使用Powershell命令行执行cl编译时不会乱码
最后发现问题是在vscode中cl输出信息默认是GBK编码的,而我vscode中默认用的utf-8的powershell,导致出现乱码。解决方案是在.vscode/tasks.json中cl命令的参数中加入`/utf-8`,其他地方如cpp文件默认保存编码等均采用默认的UTF-8即可。
修改完之后在菜单栏找到此选项选为我们刚设置的task,以后编译可以用快捷键 ctrl+shift+B