VS2013 Qt5 Mysql中文编码问题

Qt开始默认是utf-8,而VS2013默认程序编码为gb2312;

这样就会发现使用中文的时候乱码。

一般有二种解决方案:

1、在使用中文的时候,使用QTextCodec

QTextCodec *gbk=QTextCodec::codecForName("gb2312");

QString str=gbk->toUnicode("中文");

这样使用起来的比较繁琐,推荐使用第二种

2、改"Microsoft Visual Studio 12.0VCvcprojectitems"目录下的“newc++file.cpp”和“hfile.h”文件。在里边加入类似于:

#pragma once
#pragma execution_character_set("utf-8")
//强制无签名utf-8

这样的有中文或者其他多字符编码的句子,然后另存为65001的utf-8无签名就OK了。

推荐这种。

然后把mysql设置成utf-8编码就不会存在问题了

原文地址:https://www.cnblogs.com/lanye/p/4146114.html