当前位置: 代码迷 >> QT开发 >> qml中直接运用中文?为何在qt模拟器symbian平台可以,desktop则是乱码
  详细解决方案

qml中直接运用中文?为何在qt模拟器symbian平台可以,desktop则是乱码

热度:43   发布时间:2016-04-25 04:24:22.0
qml中直接使用中文?为何在qt模拟器symbian平台可以,desktop则是乱码?

如题,
有大神desktop qml中直接用中文吗?
------最佳解决方案--------------------
可以使用中文

建议使用UTF-8书写代码
------其他解决方案--------------------
用的就是 utf8,不行唉,搞不懂;

不止一个main.qml,下面还有关联的xxxxView.qml,xxxxControl.qml汉字都不行。
------其他解决方案--------------------

而且同事xp系统上编译可以显示中文,我的win7上编译则显示乱码?
------其他解决方案--------------------

把同事编译好无乱码的exe放到我的win7环境下,也显示乱码,咋整啊,大神
------其他解决方案--------------------
那就把你的代码给你同事,看看在他那里还是不是乱码
------其他解决方案--------------------
 
我们是共享svn开发的,代码一样的,刚拷过去我的到他那边他编译运行ok无乱码,我的编译运行就是乱码
------其他解决方案--------------------
那很显然是环境的问题了,你的代码没问题。

你新建一个工程,什么也不改,就光把那上面的Hello World换成汉字,试试看能不能行
------其他解决方案--------------------

神了,helloworld的qml拷过来汉字无问题,我们自己的qml就乱码,文件编码都一样的utf8
------其他解决方案--------------------
这么神奇啊。mark ,求答案。
------其他解决方案--------------------
那就好办了,把你的工程一点点的往这个helloworld上移吧,注意不要拷贝文件,而是在工程里创建一个新文件,然后通过拷贝粘贴文字的方式,把内容复制过来。我还是怀疑你原来的那些文件不是utf-8的
------其他解决方案--------------------
qml有好几种编码的?其中main.qml一定是utf8的!其他UltraEdit另存为utf8文件行不? 还有好多c++文件呢?
------其他解决方案--------------------
引用:
qml有好几种编码的?其中main.qml一定是utf8的!其他UltraEdit另存为utf8文件行不? 还有好多c++文件呢?

应该可以吧,只要设置好UTF-8 BOM即可

行不行还得你自己试试了
------其他解决方案--------------------
同意老夏,建议不要着急……

换个平台试试吧,如linux的呢?
------其他解决方案--------------------


我win7环境qml已全部改为utf8,运行仍然是乱码,但把我编译出的exe放到同事xp系统上运行,无乱码正常!

晕的一米
------其他解决方案--------------------
引用:
同意老夏,建议不要着急……

换个平台试试吧,如linux的呢?


关键是win7环境的运行乱码问题要解决!同事xp下编译运行正常的拷过来运行也是乱码

无linux平台开发环境,唉


------其他解决方案--------------------
你把qml中的中文用qsTr("包裹起来");

然后在
QTextCodec *codec = QTextCodec::codecForName("system");
QTextCodec::setCodecForTr(...)
QTextCodec::setCodecForCStrings(...)
QTextCodec::setCodecForLocale(...)

试试还有乱码么?
------其他解决方案--------------------
引用:
你把qml中的中文用qsTr("包裹起来");

然后在
QTextCodec *codec = QTextCodec::codecForName("system");
QTextCodec::setCodecForTr(...)
QTextCodec::setCodecForCStrings(...)
QTextCodec::setCodecForLocale(...)

试试……


不行,已试过
------其他解决方案--------------------
Qt 5中有这么一段,你看看是否有启发:

ICU on Windows
Qt 5 can make use of the ICU [site.icu-project.org] library for UNICODE and Globalization support. This is required for building QtWebKit. You can use precompiled versions of ICU with a Visual Studio 2010 dependency from the website, or compile ICU on your own .
  相关解决方案