• 8905阅读
  • 6回复

Qt5中文乱码完美解决 [复制链接]

上一主题 下一主题
离线yanghz91
 

只看楼主 倒序阅读 楼主  发表于: 2013-12-07
关键词: Qt5中文乱码
文件添加
  1. #include<QTextCodec>
类中定义变量
  1. QTextCodec *codec;
在构造函数中初始化变量
  1. codec = QTextCodec::codecForName("GB18030");
在每次使用中文的时候直接调用

  1. codec->toUnicode("打开文件")
对中文路径支持
  1. QString filename = QFileDialog::getOpenFileName(this, codec->toUnicode("打开文件"), "..",  
  2.        tr("Meshes(*.obj *.off)"));  
  3. std::string name = codec->fromUnicode(filename);






离线cnhemiya

只看该作者 1楼 发表于: 2013-12-08
QTextCodec方法在qt5里面已经不建议用了。如果是g++编译器在pro文件里面加上
QMAKE_CXXFLAGS += -finput-charset=GBK


-finput-charset是给g++编译器的参数,说明文件的字符集。GBK,GB2312,GB18030,UTF-8,都是和中文有关的常用字符集。
离线yanghz91

只看该作者 2楼 发表于: 2013-12-08
受教,这样看起来就舒服多了
离线jakes

只看该作者 3楼 发表于: 2013-12-08
我在Qt5中,不加任何处理,保存为UTF8的编码就可以直接显示中文。
离线realfan

只看该作者 4楼 发表于: 2013-12-09
回 3楼(jakes) 的帖子
同意,将代码用UTF8保存,是个好习惯。
离线fansongjie

只看该作者 5楼 发表于: 2019-01-11
回 jakes 的帖子
jakes:我在Qt5中,不加任何处理,保存为UTF8的编码就可以直接显示中文。 (2013-12-08 23:10) 

怎么保存为UTF-8啊?
离线nanjingqin

只看该作者 6楼 发表于: 2022-05-27
回 jakes 的帖子
jakes:我在Qt5中,不加任何处理,保存为UTF8的编码就可以直接显示中文。 (2013-12-08 23:10) 

在windows下输出到cmd'里就不是中文了。
快速回复
限100 字节
 
上一个 下一个