problemas de la pantalla de QT chinos

(Este artículo se refiere a la https://www.cnblogs.com/xgponder/p/4744168.html ).

desarrollo Do QT fácilmente podría encontrarse con el problema de los chinos ilegible, entonces la pregunta es cómo sucedió, y cómo solucionarlo?

Un fenómeno descrito por primera vez: Hay dos programas anteriores de mano, una parte del código de la siguiente manera:

QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));    
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));    
QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));
QMessageBox::about(NULL,QObject::tr("提示"),QObject::tr("密码错误,请重新输入!"));

Otro código es el siguiente:

QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));    
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));    
QTextCodec::setCodecForTr(QTextCodec::codecForName("gb18030"));
QMessageBox::about(NULL,QObject::tr("提示"),QObject::tr("密码错误,请重新输入!"));

La realidad es que después de estos dos procedimientos para poner en práctica cuadro de mensaje chinos son normales, si el primer código de programa cambia a GB18030, el segundo cambio a UTF-8, los dos programas para aplicar el cuadro de mensajes son ilegibles , que es muy interesante.

Después del examen, un primer procedimiento de codificación es la UTF8, el segundo procedimiento de codificación es GB18030. Usted encontrará este código y codificación es consistente. Cabe mencionar en QT QString utilizar Unicode codificado, se debe en primer lugar para mostrar Chino Chino convierte en Unicode de codificación. Esta vez surgió la pregunta, ¿cuál es su fuente formato de codificación es, que es conocer el origen de la conversión del formato de codificación le puede dar ah. Así, QTextCodec :: setCodecForTr (QTextCodec :: codecForName ( "UTF-8")) Esta frase se le está diciendo a la codificación de QT tr texto que lo rodea, la codificación de aquí tiene que ser coherente con la codificación de su código fuente.

También decir, la función anterior sólo se puede utilizar en QT4, actualmente QT5 ha cancelado la interfaz.

Publicado 12 artículos originales · ganado elogios 4 · Vistas a 20000 +

Supongo que te gusta

Origin blog.csdn.net/wuzhidefeng/article/details/81979943
Recomendado
Clasificación