查看完整版本: [-- 求助,QT5.4中的中文输出是乱码! --]

QTCN开发网 -> Qt中文处理 -> 求助,QT5.4中的中文输出是乱码! [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

冰凌 2015-04-02 08:56

求助,QT5.4中的中文输出是乱码!

  QT5.4加上           ”#pragma execution_character_set("utf-8")“            时           “  cout<<"请您输入0或1,选择数据库(0-Oracle,1-SQLite):";             输出是乱码,不加        ”#pragma execution_character_set("utf-8")“        时          ”     qDebug()<<"SQLite数据库读取完毕!"<<endl;“            是乱码,求各位大神指教

dbzhang800 2015-04-02 09:09
原因其实很简单,std::cout 只是简单的输出字节流,没有任何处理。

用 std::cout 输出非ASCII编码的字节流,本身就是不太负责的写法。即使没有 #pragma,也无法避免乱码问题。你可以保证你的程序在简体中文Windows下不乱码,但是也只能在简体中文Windows下乱码。


qDebug() 和 std::wcout 都能处理locale信息。所以不存在上述问题。

ji401 2015-04-02 15:44
QString str=QString::fromLocal8Bit("中文乱码");
qDebug()<<str<<endl;“
QT5 中文乱码解决很麻烦,上面是我的解决方法。可以解决


查看完整版本: [-- 求助,QT5.4中的中文输出是乱码! --] [-- top --]



Powered by phpwind v8.7 Code ©2003-2011 phpwind
Gzip disabled