qt5.5_中国語の文字化けし問題の解決方法
//
include
//****** main
//****** QApplication a(arg,arc)
QtextCodec::setCodeForTr(QTextCodec::codecForName("UTF-8"));
// QObject::tr();
//example
label.setText(QObject::tr("hello"));
しかしこれはqt 4の解決策であり,qt 5以降のQTextCodecにはこの関数は存在しない.問度娘は以下の解決方法を得た.
解決方法中国語を使うたびに前にQString::fromLocal 8 Bit;*For example: QMenu game_menu=menuBar()->addMenu(QString::fromLocal 8 Bit(「ゲーム」)
解決方法2 cppに1行のコード#pragma execution_を加えるcharacter_set(“utf-8”)
QStringについて::fromLocal 8 Bit
qt fromLocal 8 Bit()関数は、符号化を設定することができる.
QTのデフォルトのコードはunicodeで、中国語のを表示することができません
Windowsのデフォルト使用(GBK/GB 2312/GB 18030)
fromLocal 8 Bit()関数を用いて,ローカル文字セットGBからUnicodeへの変換を実現し,中国語表示文字化けしなどの問題を扱う
参考記事1:https://blog.csdn.net/jh1513/article/details/52331973 2:https://blog.csdn.net/ikisstherain/article/details/60879427