2013-07-05 27 views
0

我在Windows下,我認爲QString的默認編解碼器是GBK,但我必須將一些內容發送到不支持GBK的Linux平臺。我正在發送一些CJK內容,因此我決定使用UTF8獲取並設置QString的編解碼器?

我怎樣才能得到我用於QString的編解碼器併爲其設置編解碼器?

這裏的行:

packet = packet.arg(MAC, operation, text_type, text.toUtf8()); 

我試圖插入一些CJK text到正常的QString。

+0

您是否閱讀過有關QTextCodec的文檔? –

+1

我會避免任何默認的QByteArray /字符*文字到Unicode(QString使用)轉換和使用顯式轉換與QString :: fromUtf8(),QTextCodec等 –

+0

@DmitrySazonov Em ...,我試過'QString text_utf = QString (text_old.toUtf8())'併發送'text_utf'到android平板電腦,但顯示雜亂的代碼。我不知道這是我的編碼問題還是android平板電腦的解碼問題。 – CDT

回答

1

您不一定需要考慮編解碼器。什麼:

QString::fromLocal8Bit(myInput).toUtf8(); 

這應該工作正常。如果你真的需要手動弄亂編解碼器尋找QTextCodec。