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编码就不会存在问题了
http://www.cnblogs.com/lanye/p/4146114.html