QT 讀寫亂碼問題

2022-07-19 12:12:11 字數 627 閱讀 2928

先貼為敬

讀取檔案

qtextcodec *codec = qtextcodec::codecforname("utf-8");//設定檔案編碼格式
qfile file("1.txt");//此專案的位址搜尋的檔案
if(!file.open(qiodevice::readonly|qiodevice::text))//判斷
return;
while(!file.atend())

寫入檔案

qfile file("1.txt");
if(!file.open(qiodevice::writeonly|qiodevice::text))//判斷檔案知否正常

qtextstream out(&file);//獲取轉碼檔案
out.setcodec("utf-8");//轉碼
qstring str("物品名稱");//內容
out<關於檔案讀取,亂碼的原因是因為讀寫的編碼格式要統一

分為 檔案位址,獲取檔案,轉碼,寫入,或者讀取

讀寫亂碼問題

為什麼會產生亂碼問題?1.編碼和解碼規則不一致 2.這個字元編碼本身就不支援某種語言 為了避免產生亂碼問題我們最好在不同環節使用相同的編碼和解碼規則,建議使用預設編碼也可以去指定編碼.可以使用下邊的方法更改 編碼 string byte string中有對應的方法 byte getbytes 使用平...

亂碼問題 Qt中文亂碼問題

接觸了qt,由於習慣中vs,如果使用vs寫qt 剛接觸很快就發現有中文亂碼問題,我的解決方法如下 新建乙個標頭檔案,比如qtchcharset.h,標頭檔案中內容如下 pragma once ifdef q os win q os win 新增後支援gb2312,utf 8 bom,unicode ...

qt 中文亂碼 Qt中文亂碼問題

接觸了qt,由於習慣中vs,如果使用vs寫qt 剛接觸很快就發現有中文亂碼問題,我的解決方法如下 新建乙個標頭檔案,比如qtchcharset.h,標頭檔案中內容如下 pragma once ifdef q os win q os win 新增後支援gb2312,utf 8 bom,unicode ...