首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

Qt 寫入中文文本文件:QTextStream + fromLocal8Bit 避免亂碼

     編輯:程式設計疑難解答

正確代碼模板

QString content = "中文內容";
QFile file("output.txt");
if (file.open(QIODevice::WriteOnly | QIODevice::Text | QIODevice::Append)) {
    QTextStream out(&file);
    out.setCodec("UTF-8"); // 或 GBK 視讀取端而定
    out << content << "\n";
    file.close();
}

關鍵點

  1. QTextStream 自動處理編碼轉換,比直接寫 QByteArray 可靠
  2. setCodec("UTF-8") 確保寫入 UTF-8,跨平台最安全
  3. 若讀取端是記事本(默認 ANSI),可用 QString::fromLocal8Bit() 構建字符串再寫入

常見誤區

直接 file.write(str.toLocal8Bit()) 易在不同系統產生亂碼,推薦統一用 QTextStream + 顯式編碼。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved