qtforlinux中文乱码
Ⅰ sqlite中以GBK存的中文,在linux环境的QT开发中QSqlQuery查询出来是乱码,需要如何转换,具体如何操作,谢
最简单的办法就是你的程序脚本也是GBK编码
Ⅱ Qt显示中文乱码
先用文本文件的打开另存为的时候设置一下编码就好了 一般Windows下是gbk
Ⅲ 知道qt中文显示乱码问题
1. 你要明白QObject::tr是干嘛的。它是用于程序国际化使用的,也就可以界面文字翻译成不同的语言。你如果使用QObject::tr,你应该全部用英文表示,然后后面借助Linguist翻译成中文,就不会乱码了。详细请搜索“qt国际化"。
2. 你如果并不是想实现界面语言由英文翻译成各种语言这种国际化,那你完全没有必须使用QObject::tr。你如果只是单独想显示"ddd的d",你就使用btn.setText(QStringLiteral("ddd的d"));,肯定不会乱码。
Ⅳ Qt中文乱码问题怎么解决
(1)、中文编码一律使用QString::fromLocal8Bit()接口。
原因:需要支持QT4版本。QStringLiteral()方法也可取,但是它只支持QT5版本,如果没有版本问题,可以使用。
(2)、CPP等文件编码一律使用UTF8—BOM格式。
原因1:UTF8-无BOM在使用window编译器cl中编译会失败,当然除非你Windows中使用QT的Mingw版本编译开发。
原因2:不使用GBK的文件编码是为了更容易的兼容到linux版本与windows中,否则你需要改QtCreate的编码环境与linux的系统字符环境。
Ⅳ Qt 开发,中文显示乱码。请看代码之后再下结论
QT默认用的和你编码不一样,用utf8要改qt的环境设置,或者试试下面的。
QTextCodec::setCodecForTr(QTextCodec::codecForName("gbk"));//设置中文字体编码
Ⅵ QT发布程序后中文显示乱码的问题
QApplication::addLibraryPath("./plugins");
QTextCodec::setCodecForLocale(QTextCodec::codecForName("GBK"));
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("GBK"));
QTextCodec::setCodecForTr(QTextCodec::codecForName("GBK"));
在main函数里的QApplication a(argc, argv)这行的下面加入以上代码。注意加上头文件
Ⅶ Qt中文乱码
把源代码的文本格式换一个,用记事本,如果是ansi换成utf8,如果是utf8就换成ansi,再试试看
Ⅷ Qt程序发布后,放在没有Qt的系统(Linux Redhat6.5)下运行,中文不显示,已经加了中文字库
有设置字体吗?
一般情况下在Qt安装目录的lib目录下面有字体文件,如果没有你可以从windows下面拷贝一个“微软雅黑”过去,然后在main.cpp中配置下app的字体,应该就可以显示了
#或者在配置启动脚本的时候设置字体路径
exportQTDIR=/usr/local/qt5
exportQT_QPA_FONTDIR=$QTDIR/lib/fonts
exportQT_QPA_PLATFORM_PLUGIN_PATH=$QTDIR/plugins/
exportLD_LIBRARY_PATH=$QTDIR/lib:/lib:/usr/lib:/opt/libxil/lib:$LD_LIBRARY_PATH
Ⅸ QT的fromLocal8Bit函数中文显示乱码问题
linux一般默认就是Utf-8的语言,windows一般默认是gb2312的语言,fromLocal8Bit是获取本地语言类型转换,QString QString::fromLocal8Bit ( const char * str, int size = -1 ) ,你确定一下你的str是什么编码吧。
简单来说:如果你的.cpp文件保存的是utf-8的格式,fromLocal8Bit ("测试中文"),“测试中文”就是utf-8的字符,linux肯定就正常,windows肯定就不正常了