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

bujidao1128發表於2024-03-13

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

Qt匯入其他電腦上開發的專案後,出現這種警告:

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

用下列方法:

工具-選項-文字編輯器-行為,【預設編碼】:UTF-8,【UTF-8 BOM】:如果編碼是UTF-8則新增。最後隨便改動一下出現警告的檔案儲存,就會儲存為:UTF-8 帶BOM 格式。

QMessageBox顯示中文亂碼

如上圖,如果出現亂碼可以嘗試:

QMessageBox messageBox(QMessageBox::NoIcon,QString::fromLocal8Bit("退出"),QString::fromLocal8Bit("你確定要退出嗎?"),QMessageBox::Yes | QMessageBox::No, NULL);

如果2中的辦法太麻煩,可以在亂碼相關檔案中新增以下一行(試過了,挺好用):

pragma execution_character_set("utf-8")//解決中文亂碼

最終解決後的效果:

相關文章