一、 Qt 4 亂碼問題 解決方案
1. 在Qt 中 快捷菜單選項功能中
Edit(編輯) --> Select Encoding...(選擇編碼)
選擇載入(顯示)編碼和儲存編碼,要解決中文亂碼問題,選擇 GB2312和UTF-8常用編碼方式 就可以
2.在 Qt 快捷菜單選項中依次選擇
Tools --> Options --> Text Editor --> Behavior --> File Encodings
選擇預設編碼方式 UTF-8 或 GBK(gbk) 字元集
3. 在(main.cpp )代碼中
#include <QTextCodec>
QTextCodec *codec = QTextCodec::codecForName("utf8"); //GBK gbk
QTextCodec::setCodecForTr(codec);
QTextCodec::setCodecForLocale(codec);
QTextCodec::setCodecForCStrings(codec);
二、Qt 5 亂碼問題 解決方案:
由于 Qt 5 中移除了 <QTextCodec> 中一些函數 是以就不能像Qt 4 版本樣解決
但是在QString 類中
1. 有個靜态字元轉碼函數 QString::fromLocal8Bit --> 轉碼成Unicode 這樣就能解決中文亂碼問題了
2. QStringLiteral
不過在Qt5中,提供了一個專門的處理宏,來支援中文常量,那就是QStringLiteral,但它隻能處理常量。
QMessageBox::information(this, QString::fromLocal8Bit("提示"), QStringLiteral("中文顯示"));