1. 程式人生 > >VS2017 warning C4819: 該檔案包含不能在當前內碼表(936)中表示的字元。請將該檔案儲存為 Unicode 格式以防止資料丟失

VS2017 warning C4819: 該檔案包含不能在當前內碼表(936)中表示的字元。請將該檔案儲存為 Unicode 格式以防止資料丟失

Visual Studio 2017出現warning C4819: 該檔案包含不能在當前內碼表(936)中表示的字元。請將該檔案儲存為 Unicode 格式以防止資料丟失

解決方案:
1.修改字元編碼格式
Visual Studio提供高階儲存選項功能,它能指定特定程式碼檔案的編碼規範和行尾所使用的換行符。在Visual Studio 2017中,該命令沒有預設顯示在“檔案”選單中。使用者需要手工設定,才能顯示該命令。操作方法如下:

(1)單擊“工具”|“自定義”命令,彈出“自定義”對話方塊。
(2)單擊“命令”標籤,進入“命令”選項卡。
(3)在“選單欄”下拉列表中,選擇“檔案”選項。
(4)單擊“新增命令”按鈕,彈出“新增命令”對話方塊。
(5)在“類別”列表中,選擇“檔案”選項;在“命令”列表中,選擇“高階儲存選項”選項。
(6)單擊“確定”按鈕,關閉“新增命令”對話方塊。
(7)選中“控制元件”列表中的“高階儲存選項”選項,單擊“上移”或者“下移”按鈕,調整該命令的位置。
(8)單擊“關閉”按鈕,完成“高階儲存選項”命令的新增操作。
(9)開啟“檔案”選單下的“高階儲存選項”,設定編碼為ASCII,關閉,然後再設定為unicode(utf-8)
親測成功

2.在Project -> Properties -> Configuration Properties -> C/C++ -> Advance 的 Disable Specific Warnings 中新增相應的警告編號:4819;
不推薦
3.或找出不符合Unicode格式的檔案,然後在該檔案的開始處加入下面的語句:

# pragma warning (disable:4819)

未試過
4.哪個檔案出現這個警告錯誤,開啟它, 用VS2010的查詢替換功能,開啟允許正則表示式選項,選擇當前視窗,查詢替換 \n 為 \n , 然後,這個世界就清淨了。原因: 查詢的 \n 是跨平臺的回車,替換的 \n 卻是當前內碼表的回車。
未試過