CentOS7 下 QT 界面顯示中文亂碼

概述

在CentOS7下開發Qt4 界面程序,結果中文顯示爲亂碼。
locale命令查看了一下當前編碼方式爲:LANG=zh_CN.GBK
修改了一下/etc/locale.conf 沒效果。
使用QtCreator--編輯--選擇編碼,修改了一下文件編碼,沒效果。

解決方法

main.cpp中使用:

  • QTextCodec::setCodecForTr( QTextCodec::codecForLocale() );
  • QTextCodec::setCodecForLocale( QTextCodec::codecForLocale() );
  • QTextCodec::setCodecForCStrings( QTextCodec::codecForLocale() );

或:

  • QTextCodec::setCodecForTr( QTextCodec::codecForName( "GBK" ) );
  • QTextCodec::setCodecForLocale( QTextCodec::codecForName( "GBK" ) );
  • QTextCodec::setCodecForCStrings( QTextCodec::codecForName( "GBK" ) );
    兩臺機器使用的這兩種各自有效。

備註

  1. /etc/profile文件中導出編碼爲:
    export LANG="zh_CN.GB18030"
    export LC_ALL="zh_CN.UTF-8"

  2. /etc/locale.conf文件中導出編碼爲:
    LANG=zh_CN.GBK

  3. locale命令輸出爲:
    CentOS7 下 QT 界面顯示中文亂碼
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章