Chinaunix首页 | 论坛 | 博客
  • 博客访问: 894838
  • 博文数量: 60
  • 博客积分: 1458
  • 博客等级: 中尉
  • 技术积分: 1373
  • 用 户 组: 普通用户
  • 注册时间: 2011-12-24 12:50
个人简介

不积硅步无以至千里

文章分类

全部博文(60)

分类: 嵌入式

2012-02-20 14:55:06

QT源代码中文乱码解决方法

今天开始学习qt编程,在使用vim编写cpp格式qt源代码时使用了中文字符,结果缺乏先,编译运行时乱码。网上搜索之后解决了遇到的问题,这里记录下来。补充一句,系统为ubuntu 10.10版本。

使用到中文的代码如下:


  1. QPushButton b1("你好!QT编程!");
问题最终得到解决后代码如下:

  1. #include <QApplication>
  2. #include <QTextCodec>
  3. #include <QPushButton>

  4. int main(int argc, char *argv[])
  5. {

  6.     QApplication app(argc, argv);

  7.     QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));

  8.     QPushButton b1("你好!QT编程!");
  9.     b1.show();
  10.     
  11.     QObject::connect(&b1, SIGNAL(clicked()), &app, SLOT(quit()));

  12.     return app.exec();
  13. }

首先添加:

  1. #include <QTextCodec>
具体解决问题的代码是:

  1. QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
这里所起的作用就是将代码中字符串编码转换为UTF-8编码,当然也可以选择GBK等编码方式。但是有一点需要注意,那就是这里的编码方式要跟代码文件编码格式一致。本文中我的代码编码格式为UTF-8,所以本句代码中格式为UTF-8.

关于QT编码的更具体内容,推荐阅读如下链接博文:

  1. http://hi.baidu.com/cyclone/blog/item/9d7293130e5a498d6538dbf1.html



阅读(7644) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~