現在是Qt vc編譯器。
大概流程如下:
<1> QString str = 輸入的gbk編碼字串,例如“原始gbk字串”;//無特殊轉換直接輸入
后面str作為引數傳入函式
<2> setText(str)亂碼
原因是在程式運行到<1>時,將"原始gbk字串"默認為utf8進行解碼。那么識別到的文字錯誤亂碼是可以理解的。
但現在問題是:
在第二步<2>此時有沒有辦法將str還原為"原始gbk字串"然后顯式在視窗上【不用說在<1>那里QString::from編碼()這個,這個我知道】。
嘗試了幾種變換,我發現,有點問題。
我懷疑在<1>賦值、或者說構造初始化時,是否str并不會獲得并保存“原始gbk字串”的原始編碼。
因為我的亂碼顯式為???直接進行toGBK會答應為錕斤拷。似乎原始編碼要么丟了,要么被改了?
希望論壇的朋友能為我解惑,謝謝。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/126104.html
標籤:Qt
