- QT默認(rèn)源碼編碼為不帶
BOM
的UTF-8
- vc編譯器支持帶
BOM
的UTF-8
編碼的源碼首量,如果編碼為不帶BOM
的UTF-8
氓栈,且編碼含有中文,編譯時會有C4819警告厉膀,甚至導(dǎo)致編譯或者運(yùn)行出現(xià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ā)上位機(jī)程序,用于win或者linux(gcc版本大于4.4.0)审姓,使用帶BOM的UTF-8
- 其他珍特,推薦不帶BOM的UTF-8