真正管用!warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失

时间:2021-12-17 23:45:11

从ubuntu下写的程序,想要移植到windows 的vs2010中去跑,结果在程序运行的时候,出现了很多warning C4819。苦恼,原因是换行符。
经过我多次尝试,包括网上一些去掉这些警告的方法(只是不让显示这些警告,没有真正解决问题)。我最终发现一种方法真正解决了我的问题!
1,双击警告的信息,弹出警告信息所对应的文件
真正管用!warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
2,把对应的文件另存为,会弹出另存为对话框,然后点击 保存 按钮右边的下三角,会弹出下拉菜单,有保存和编码保存两个选项,再点击编码保存。(注:有时在另存为时,文件名的最后多三个默认的字符:空格、点和星号(即 .*),如下图红色箭头所指向的,此时在另存为的时候一定要删除这三个默认字符,文件名一定要和原来的文件名相同)
真正管用!warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
3,点击编码保存后,会出现确定另存为对话框如下图所示,再点击是按钮
真正管用!warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
4,接着会弹出高级保存选项,如下图所示,在编码菜单中选择要保存的编码:Unicode(UTF-8 带签名)- 代码页65001,然后点击确定即可。(注:还有一个不带签名的Unicode(UTF-8 无签名)- 代码页65001,两者是不同的,如果保存的是后者,编译时仍然会提示 warning C4819,一定要注意区分)
真正管用!warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
真正管用!warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失