Qt 中文乱码解决大全

源地址:http://blog.csdn.net/xcy2011sky/article/details/7168376

解决中文乱码,最好知道乱码是什么格式比如说:utf-8.

解决方案:

1.让整个应用程序支持中文:

在  QApplication a(argc, argv);后加上以下几句话即可。要包含头文件#include <QTextCodec>。

QTextCodec::setCodecForLocale(QTextCodec::codecForName("GBK"));
 QTextCodec::setCodecForTr(QTextCodec::codecForName("GBK"));
 QTextCodec::setCodecForCStrings(QTextCodec::codecForName("GBK"));

2.本地中文上传到WebService,要把中文编码成utf8格式。这样才不至于产生乱码!

例如:QString str="中文测试";

const char* result=str.toUtf8();

3.从网络上获取utf8编码的中文,在客户端应用程序显示中文。

例如:

QString str=slist[i].u_nickname;
   item1->setText(QString::fromUtf8(str.toLocal8Bit()));

4.从网络上下载含有中文的xml时,下载完成打不开。

例如:

QTextStream out(&file);
   out.setCodec("utf-8");
   QTextCodec *tc=QTextCodec::codecForName("utf-8");
   QByteArray ba=reply->readAll();
   QString str=tc->toUnicode(ba);
   out<<str;
   reply->deleteLater();

5.QT4发布应用程序时解决乱码:

在部署目录(执行程序放置的目录)中建立子目录 plugins,之后在此目录中建立codecs子目录,将qcncodecs4.dll复制到此子目录中,形成如下目录结构:

<app-install-dir>\plugins\codecs

Qt 中文乱码解决大全

时间: 2024-10-11 05:09:13

Qt 中文乱码解决大全的相关文章

Qt中文乱码解决思路

最近项目中遇到不少的Qt中文乱码的问题,主要原因是客户的需求比较多,Qt版本有用4的版本的也有用5的版本,并且还有windows与linux跨平台的需求.经常出现个问题是windows的解决了,源代码放到linux上编译不通过或者中文会乱码,本文主要是得出一个解决方案能解决Qt的中文问题,并支持不同平台与不同版本.下面我们通过下列场景中的问题来找寻答案: 场景1:Qt版本: Qt5.1.0_VS2012操作系统: win7 CPP文件编码: UTF8—无BOM格式CPP部分代码如下: QText

QT中文乱码解决方法

由于我毕设的界面是用Qt做的,之前没怎么接触过Qt,所以实现过程中遇到不少小问题,头一个就是这个. 现如今宝宝将其记录下来,供同样有需要的同学或者自己以后方便查阅. 1.所有文件编码格式须一致 不统一的话,很可能出现部分中文显示正常,部分是乱码的情况.这个我是让男票用editplus统一修改了编码格式.文件只要是自己生成的,一般都是一样的,但是也不排除某个cpp文件借鉴他人导致格式不统一.至于如何用editplus修改文件的编码格式,网上资料也不少,大家百度一下即可. 2.添加代码和头文件 我添

解决Qt中文乱码以及汉字编码的问题(UTF-8/GBK)——ubuntu环境设置默认是utf-8,文件编码可使用Encodersoft批量转换

一.Qt环境设置 文件从window上传到Ubuntu后会显示乱码,原因是因为ubuntu环境设置默认是utf-8,Windows默认都是GBK.Windows环境下,Qt Creator,菜单->工具->选项->文本编辑器->行为->文件编码:默认编码:System(简体中文windows系统默认指的是GBK编码,即下拉框选项里的GBK/windows-936-2000/CP936/MS936/windows-936) 二.编码知识科普Qt常见的两种编码是:UTF-8和GB

idea各种中文显示乱码解决大全

本文链接:https://blog.csdn.net/liqimo1799/article/details/81811153中文乱码问题分类: 编码普通中文乱码properties文件中文乱码console控制台中文乱码搜索框中文乱码svn注释中文乱码问题截图: 2.properties文件中文乱码 4,.搜索框中文乱码 5.svn注释中文乱码 解决方法: 1.编码普通中文乱码 ①settings --> editor  --> code style --> file encodings

Qt中文乱码问题(比较清楚,同一个二进制串被解释成不同的语言)

文章来源:http://blog.csdn.net/brave_heart_lxl/article/details/7186631 以下是dbzhang关于qt中文乱码问题原因的阐述,觉得不错: 首先呢,声明一下,QString 是不存在中文支持问题的,很多人遇到问题,并不是本身 QString 的问题,而是没有将自己希望的字符串正确赋给QString. 很简单的问题,"我是中文"这样写的时候,它是传统的 char 类型的窄字符串,我们需要的只不过是通过某种方式告诉QString 这四

(转)QT中文乱码与国际化支持

Qt内部采用的全Unicode编码,这从根本上保证了多国语界面实现的正确性和便捷性.Qt本身提供的linguist工具,用来实现翻译过程十分方便.MFC中利用资源DLL切换资源,或使用多个RC文件进行不同语言版本编译等方法都十分麻烦,如果你曾经使用过MFC,QT解决多语言问题的便捷性绝对会让你感觉是一种享受.本文讨论以下几个方面内容: 1.  QT中解决中文乱码的方法: 2.  QT中实现国家化支持. 3.  对话框实现多语言 一.       中文乱码 1.  在程序中直接使用中文,需要在程序

QT 中文乱码2

以下是dbzhang关于qt中文乱码问题原因的阐述,觉得不错: 首先呢,声明一下,QString 是不存在中文支持问题的,很多人遇到问题,并不是本身 QString 的问题,而是没有将自己希望的字符串正确赋给QString. 很简单的问题,"我是中文"这样写的时候,它是传统的 char 类型的窄字符串,我们需要的只不过是通过某种方式告诉QString 这四个汉字采用的那种编码.而问题一般都出在很多用户对自己当前的编码没太多概念, 于是 一个简 单的 Qt 程序 下面这个小程序,估计大家

cocos2d-x 3.4 中文乱码解决之道

cocos2dx 中文乱码解决之道 需要引入五个文件 1.iconv.h 2.iconvString.cpp 3.iconvString.h 4.iconv.dll 5.libiconv.lib 完整下载地址http://download.csdn.net/detail/dao_1990/8935089 iconv.h /* Copyright (C) 1999-2003 Free Software Foundation, Inc. This file is part of the GNU LI

Jsp---cookie中文乱码解决方法

//写cookie <form method="Get"> 姓名: <input type="text" name="name" /> <br /> <input type="submit" value="确定" /> </form> <!-- 写入cookie到客户端 --> <% if (request.getParamete