背景:使用某裝置讀取身份證資訊,在使用裝置自帶sdk在vs2008可以讀取正確,在qt讀取顯示亂碼。
原因:vs2008裡面,預設是unicode編碼模式,而qt在windows下面預設是gbk編碼模式,所以顯示亂碼。
解決方法:
qbytearray byte(idcarddata.name);
qtextcodec *codec = qtextcodec::codecforname("gbk");
qstring strunicode = codec->tounicode(byte);
char 型別資料可以也使用此方法轉化。
ps:注意新增標頭檔案
#include
C 讀取字串
我們在使用鍵盤輸入字串的時候,輸入流對於字串的讀取有幾種不同的實現方式。cin cin 在讀取字串時使用空白 空格 製表符和換行符 來確定字串的結束位置,這說明cin在獲取字元陣列輸入時只能讀取乙個單詞。而讀取該單詞後,cin將該字串放到陣列中,並在結果自動新增空字元。so,在某些時候,我們需要使用...
讀取字串長度
c 關於讀取乙個字串長度 包括空格回車 自用 方法1 include include using namespace std intmain 方法2 include include include include include using namespace std intmain 方法3 inc...
QT與SQL(二) 資料庫中文資訊讀取亂碼
最近,在使用qt的qodbc進行sql 2008 r2資料庫的通訊連線時,遇到了乙個問題,這裡就將該問題進行一下記錄。訪問microsoft sql server 2008r2資料庫內的一張資料表,表中資訊除了數字之外,還有一部分中文資訊,中文資訊的資料型別設定為nvchar 50 在資料庫中的儲存...