vscode 中 warning C4819: 该文件包含不能在当前代码页(936)中表示的字符
1 对于 vscode 中的 tasks.json
添加 msvc 编译选项 /source-charset:utf-8
设置代码输入为 utf-8。
具体为:
{
"version": "2.0.0",
"tasks": [
{
"label": "cl",
"type": "shell",
"command": "cl.exe",
"args": [
"/EHsc",
"/Zi",
"/source-charset:utf-8", // 输入代码编码格式为utf-8
"/Fe:",
"${fileDirname}\\${fileBasenameNoExtension}.exe",
"${file}"
],
"group": {
"kind": "build",
"isDefault": true
},
"presentation": {
"reveal":"always"
},
"problemMatcher": "$msCompile"
}
]
}
2 对于 CMAKE
在 CMakeList.txt
中添加
if (MSVC)
# 设置 C 语言编译 flags, 输入代码编码格式为 utf-8
set(CMAKE_C_FLAGS /source-charset:utf-8)
endif()
或者
if (MSVC)
# 添加编译选项, 设置 输入代码的编码格式为 utf-8
add_compile_options("/source-charset:utf-8")
endif()
当 CMake 版本大于等于 3.15 时, 也可用使用
# 当使用 MSVC 编译器时, 设置输入代码的编码格式为 utf-8
add_compile_options("$<$<C_COMPILER_ID:MSVC>:/source-charset:utf-8>")
详细的 CMake Compiler Language And ID 可查看 链接
3 对于 QMAKE
在 .pro
文件中添加
win32-msvc{
QMAKE_CXXFLAGS += /source-charset:utf-8
}