解決方法
1.使用#pragma execution_character_set("utf-8")
QT5中在cpp中使用#pragma execution_character_set("utf-8")解決中文亂碼东涡,不過(guò)這里要求該源代碼必須保存成帶Bom的utf-8格式寝受,這也是有些在網(wǎng)上下載的代碼媳友,加上這句源代碼后還是亂碼,我的操作是修改cpp中幾個(gè)中文字符后修己,重新保存后再重新編譯就可以了抡句。相當(dāng)于將之前不是bom的代碼保存utf bom格式整胃。
此方法需要在每一個(gè)涉及中文的cpp前添加這段指令。
2.在pro文件設(shè)置編譯格式
在pro中加入下面兩條
msvc:QMAKE_CXXFLAGS += -execution-charset:utf-8
msvc:QMAKE_CXXFLAGS += -source-charset:utf-8
第一條是讓程序執(zhí)行時(shí)使用utf-8字符集
第二條是告訴msvc編譯器識(shí)別源文件編碼類(lèi)型是utf-8
不管源碼帶不帶bom拷获,一般這兩條可以直接編譯識(shí)別篮撑。
QMAKE_CXXFLAGS_WARN_ON += -wd4819
一般有些三方庫(kù)文件會(huì)報(bào)4819的警告〈夜希可以在pro文件張?zhí)砑由厦嬉恍泻雎?819的警告
4819警告.png