当前位置: 代码迷 >> QT开发 >> 为什么字符显示的是乱码?该如何处理
  详细解决方案

为什么字符显示的是乱码?该如何处理

热度:152   发布时间:2016-04-25 05:06:35.0
为什么字符显示的是乱码?
在初始化状态栏时的代码如下:
void MainWindow::init_statusBar()
{
  QStatusBar *bar = ui->statusBar;
  first_StatusLabel = new QLabel;
  first_StatusLabel->setMinimumSize(150,20);
  first_StatusLabel->setFrameShape(QFrame::WinPanel);
  first_StatusLabel->setFrameShadow(QFrame::Sunken);
  second_StutsLabel = new QLabel;
  second_StutsLabel->setMinimumSize(150,20);
  second_StutsLabel->setFrameShape(QFrame::WinPanel);
  second_StutsLabel->setFrameShadow(QFrame::Sunken);
  bar->addWidget(first_StatusLabel);
  bar->addWidget(second_StutsLabel);
  first_StatusLabel->setText(tr("欢迎使用文本编辑器"));
  second_StutsLabel->setText(tr("fsdofnsa!"));
}

为什么“欢迎使用文本编辑器”显示出来的状态栏内容是乱码?但是“fsdofnsa!”英文字母就显示是对的。

本人比较菜,还请多多指教,谢谢!!!

------解决方案--------------------
字符集问题。。。
在main.cpp的main函数中加如 
C/C++ code
    QTextCodec::setCodecForTr(QTextCodec::codecForLocale());
------解决方案--------------------
楼主你试试QTextCodec::setCodecForTr(QTextCodec::codecForName("utf-8"));
或者QTextCodec::setCodecForTr(QTextCodec::codecForLocale());
  相关解决方案