在Qt中讀取文件時出現中文亂碼的問題,可能是因為編碼格式的不匹配。可以嘗試以下方法解決:
QTextCodec *codec = QTextCodec::codecForName("UTF-8"); // 根據文件的實際編碼格式進行設置
QTextCodec::setCodecForLocale(codec);
QFile file("filename.txt");
if (file.open(QIODevice::ReadOnly | QIODevice::Text)) {
QTextStream in(&file);
in.setCodec("UTF-8"); // 根據文件的實際編碼格式進行設置
QString content = in.readAll();
file.close();
// 對content進行處理
}
QFile file("filename.txt");
if (file.open(QIODevice::ReadOnly | QIODevice::Text)) {
QTextStream in(&file);
in.setCodec("GBK"); // 根據文件的實際編碼格式進行設置
while (!in.atEnd()) {
QString line = in.readLine();
// 對line進行處理
}
file.close();
}
請根據實際情況選擇適合的方法進行嘗試。