我正在寫一個QT5應用程序(使用QT Creator),它使用像十二生肖這樣的特殊字符。此代碼工作完全正常的Linux Mint的14:unicode字符不能轉換爲cp1252
QString的S =的QString :: fromUtf8( 「\ u2648」);
但是,當我編譯它在Windows XP SP3得到一個編譯器警告它說,當前代碼頁是CP1252和字符\ u2648不能轉換。當我運行該程序時,此字符顯示爲問號。
根據我的系統設置UTF-8(代碼頁65001)安裝在我的Windows。
x前面的0創建一個空的(或不可見的)字符串。如果我將您的代碼更改爲「\ xE2 \ x99 \ x88」,我會得到一個方形符號。另外如果我使用89而不是88或其他數字。至少我沒有得到任何編譯器警告。 – 2013-02-17 21:41:34
對不起,這些0不屬於那裏。我刪除了它們。 – oefe 2013-02-17 21:44:46
我試過使用:wchar_t a [] = L「\ u01FF」;並將此類型轉換爲一個給出奇怪的'o'charakter的QString。但這似乎是最高的數字。如果我使用更高的數字,我會再次得到一個方格。 – 2013-02-17 21:51:55