Qt+MSVC2013 使用QtCreator中文乱码问题

1、在main函数里添加utf-8编码

    QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));

2、在有中文的cpp里,添加

#pragma execution_character_set("utf-8")

3、用notepad++打开cpp文件,把utf-8无bom编码文件转成uft-8编码

4、设置QtCreator,保留utf-8bom的个数即可

时间: 2025-01-02 03:15:53

Qt+MSVC2013 使用QtCreator中文乱码问题的相关文章

解决Qt程序发布时中文乱码问题(通过QApplication.addLibraryPath加载QTextCodec插件)

Qt程序的文字编码,是通过插件来解决的,所以我们发布的时候需要把相应的插件也发布出去,在开发者电脑上程序会自动从插件目录加载到插件,但是如果发布给别的电脑使用,需要手动指定插件路径,如下所示: int main(int argc, char *argv[]) { QApplication a(argc, argv); QString strLibPath = a.applicationDirPath(); strLibPath += "/plugins"; //plugins就是插件目

解决Qt程序发布时中文乱码问题

Qt程序的文字编码,是通过插件来解决的,所以我们发布的时候需要把相应的插件也发布出去,在开发者电脑上程序会自动从插件目录加载到插件,但是如果发布给别的电脑使用,需要手动指定插件路径,如下所示: int main(int argc, char *argv[]) { QApplication a(argc, argv); QString strLibPath = a.applicationDirPath(); strLibPath += "/plugins"; //plugins就是插件目

QT字符转换,中文乱码等随笔记录

1.把QString转换为 double,float,int等类型 bool ok; double d; double d=QString("1234.56e-02").toDouble(&ok); //ok=true;d;12.3456. float f=str.toFloat(&ok); //转换失败时返回0.0,ok=false; int dec=str.toInt(&ok); Qstring 转换char*问题! 方法一:QString qstr(&qu

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

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

Qt查询MYSQL中文乱码问题

Qt的默认编码是utf-8,而mysql的编码是在安装数据库(或后续可更改)就时设置的.有时候两者可能不一样,我们不可能去为了匹配Qt而去更改MYSQL的编码(确实可以更改).所以只能在打开数据库连接操作的时候设置编码了,即在QSqlDatabase对象调用open()方法之后设置. 设置方法为: sqldb.exec("SET NAMES 'XXXX'"); 注意:sqldb是一个QSqlDatabase对象,XXXX是MYSQL数据库的编码名称,如我的就是db.exec("

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

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

解决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

QT 静态编译后中文可能会出现乱码

QT 静态编译后中文可能会出现乱码.这是因为处理文字编码的 libqcncodecs 库是以 plugin 形式存放在 QT 静态编译目录/plugs/codecs/libqcncodecs.a 文件中.文字乱码,需要加入入字体插件在 main.cpp 文件内:#include <QtPlugin>Q_IMPORT_PLUGIN(qcncodecs) 然后在工程 pro文件中加入库:QTPLUGIN += qjpeg qcncodecs或者LIBS += QT 静态编译目录/plugs/cod

Qt中文乱码解决思路

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