Qt讀取字元資訊亂碼

2021-07-11 15:16:38 字數 399 閱讀 6143

背景:使用某裝置讀取身份證資訊,在使用裝置自帶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 在資料庫中的儲存...