首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C++ >> 關於C++

QtCreator + MSVC 編譯警告 C4819 解決辦法(UTF-8 with BOM)

     編輯:關於C++

一、現象

使用 QtCreator + Visual C++ 編譯器編譯項目時,頻繁出現警告:

warning C4819: 該文件包含不能在當前代碼頁(936)中表示的字符。請將該文件保存為 Unicode 格式以防止數據丟失

二、原因

MSVC 默認按系統代碼頁(中文為 GB2312/CP936)讀取源文件。若文件為 UTF-8 無 BOM,編譯器無法正確識別編碼,導致中文註釋/字符串報警告。

三、解決方法:保存為 UTF-8 with BOM

QtCreator 默認保存為 UTF-8 無 BOM。需修改設置使其保存時自動添加 BOM:

  1. 打開 Tools → Options → Text Editor → Behavior
  2. 勾選 Add UTF-8 Byte Order Mark (BOM)
  3. 點擊 Apply/OK

QtCreator BOM 設置

四、效果

重新保存源文件後,重新編譯,C4819 警告消失。BOM 讓 MSVC 正確識別 UTF-8 編碼。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved