- QT默認(rèn)源碼編碼為不帶
BOM的UTF-8
- vc編譯器支持帶
BOM的UTF-8編碼的源碼,如果編碼為不帶BOM的UTF-8,且編碼含有中文,編譯時會有C4819警告,甚至導(dǎo)致編譯或者運行出現(xiàn)錯誤。 - 對于QT文件編碼選項:
如果選擇“如果編碼是UTF-8則添加”,實際上,創(chuàng)建項目時,默認(rèn)編碼仍是無QT文件編碼選項BOM的UTF-8,只有當(dāng)源碼中包含漢字時,文件才會添加BOM。另外注意默認(rèn)編碼的設(shè)置實際上只是用于qtcreator讀取源碼程序,使用qtcreator創(chuàng)建文件時默認(rèn)編碼仍然會是UTF-8。 - 對于QT的Project文件(*.pro)僅支持無
BOM的UTF-8編碼,qmake并不支持其他編碼的pro文件 - 對于gcc來講,據(jù)說高于4.4.0的支持帶BOM的UTF編碼,測試4.1.1(RHEL5.0)存在編譯不通過。因此對于ARM程序來講,仍然推薦UTF-8編碼。
綜上
- 開發(fā)上位機程序,用于win或者linux(gcc版本大于4.4.0),使用帶BOM的UTF-8
- 其他,推薦不帶BOM的UTF-8
