• 6238阅读
  • 4回复

求助如何正确处理中文显示 [复制链接]

上一主题 下一主题
离线fj_gjx
 

只看楼主 倒序阅读 楼主  发表于: 2009-07-04
我是在vs2008环境中开发基于QT的程序,经常遇到中文显示为乱码,查了一些资料,通过设置QTextCodec::setCodecForTr()确保使用tr()可以正确处理中文,但是使用QFile("c:\我的文档\测试.txt")就不能找到该文件,原因是中文传进后变成乱码。mfc程序就不要用户去设置一些额外信息,系统就能正确处理中文,QT如何设置保证所有用到含中文的字符都能用正确处理。请高手指点,谢谢!
离线shiroki

只看该作者 1楼 发表于: 2009-07-05
在代码直接写的中文要设 setCodecForCStrings,  你的这个QFile的参数外面没有套tr, 所以setCodecForTr不对它起作用。类似的函数还有,看看文档
--
shiro is White
ki is tree
http://www.cuteqt.com
论坛 http://www.cuteqt.com/bbs
博客 http://www.cuteqt.com/blog
博客镜像: http://sites.cuteqt.com/cuteqt
Linux/Qt/嵌入式讨论群 http://qun.qq.com/air/5699823
离线wd007

只看该作者 2楼 发表于: 2009-07-10
同意楼上,tr()没有加上
欢迎访问我的博客,一起学习提高
http://blog.csdn.net/qter_wd007
离线qlovet
只看该作者 3楼 发表于: 2009-07-11
我用的是 Eclipse 开发环境, XP 非中文系统

1. 首先我先把 Eclipse 编码调成 utf-8
2. 打中文和显示中文如果不是在 Qt designer 中,需要设置编码转换
比如

QTextCodec *codec=QTextCodec::codecForName("UTF-8");
QByteArray txtByterarray="显示中文";
QString chinese=codec->toUnicode(txtByterarray);

之后 QString chinese 用到哪里都可以显示中文了
离线biohu
只看该作者 4楼 发表于: 2009-07-11
遇到过这个问题。
↑y     ︿
│ _/      \_
┼──────→x
快速回复
限100 字节
 
上一个 下一个