C++ vs.net设置UTF8字符

1、将main.cpp改成utf-8编码,方法是点击main.cpp,然后选择菜单文件->高级保存选项。【所有源码都要转换成uft-8】

2、在你的main函数里,设置如下代码,完美解决qt5的中文乱码

MSC_VER是MSVC编译器的内置宏,定义了编译器的版本。下面是一些编译器版本的_MSC_VER值

MS VC++ 10.0 _MSC_VER = 1600  【VC2010】

MS VC++ 9.0 _MSC_VER = 1500   【VC2008】

MS VC++ 8.0 _MSC_VER = 1400   【VC2005】

MS VC++ 7.1 _MSC_VER = 1310

MS VC++ 7.0 _MSC_VER = 1300

MS VC++ 6.0 _MSC_VER = 1200

MS VC++ 5.0 _MSC_VER = 1100

#include "testchinese2.h"

#include <QtWidgets/QApplication>

#include <QDebug>

// 代码一定要是: UTF-8(BOM)

//qt版本高于等于qt5,VS版本高于或等于VS2010

#if _MSC_VER >= 1600

#pragma execution_character_set("utf-8")

#endif

int main(int argc, char *argv[])

{

QApplication a(argc, argv);

//qt版本低于qt5

#if QT_VERSION < QT_VERSION_CHECK(5,0,0)

//VS版本低于VS2010

#if defined(_MSC_VER) && (_MSC_VER < 1600)

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

#else

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

#endif

#endif

TestChinese2 w;

w.show();

qDebug() << "您好,333";

return a.exec();

}

时间: 2024-10-09 18:51:32

C++ vs.net设置UTF8字符的相关文章

windows下cmd命令行显示UTF8字符设置(CHCP命令)

在中文windows系统中,如果一个文本文件是utf-8编码的,那么在cmd.exe命令行窗口(所谓的dos窗口)中不能正确显示文件中的内容.在默认情况下,命令行窗口中使用的代码页是中文或者美国的,即编码是中文字符集或者西文字符集. 如果想正确显示UTF-8字符,可以按照以下步骤操作: 1.打开CMD.exe命令行窗口 2.通过 chcp命令改变代码页,UTF-8的代码页为65001 1 chcp 65001 执行该操作后,代码页就被变成UTF-8了.但是,在窗口中仍旧不能正确显示UTF-8字符

如何在DOS窗口中显示UTF-8字符

在中文Windows系统中,如果一个文本文件是UTF-8编码的,那么在CMD.exe命令行窗口(所谓的DOS窗口)中不能正确显示文件中的内容.在默认情况下,命令行窗口中使用的代码页是中文或者美国的,即编码是中文字符集或者西文字符集. 如果想正确显示UTF-8字符,可以按照以下步骤操作: 1.打开CMD.exe命令行窗口 2.通过 chcp命令改变代码页,UTF-8的代码页为65001 chcp 65001 执行该操作后,代码页就被变成UTF-8了.但是,在窗口中仍旧不能正确显示UTF-8字符.

windows dos命令下DOS窗口中显示UTF-8字符

在中文Windows系统中,如果一个文本文件是UTF-8编码的,那么在CMD.exe命令行窗口(所谓的DOS窗口)中不能正确显示文件中的内容.在默认情况下,命令行窗口中使用的代码页是中文或者美国的,即编码是中文字符集或者西文字符集. 如果想正确显示UTF-8字符,可以按照以下步骤操作: 1.打开CMD.exe命令行窗口 2.通过 chcp命令改变代码页,UTF-8的代码页为65001 chcp 65001 执行该操作后,代码页就被变成UTF-8了.但是,在窗口中仍旧不能正确显示UTF-8字符.

mysql5.7.12 utf-8字符编码问题

环境:ubuntu mate16.04 sudo apt-get install mysql-server #安装mysql 网上大部分的修改编码还是在/etc/mysql/my.cnf中 而且让打开my.cnf后,在文件内的[mysqld]下增加如下两行设置.但是.. #查看my.cnf内容 cat /etc/mysql/my.cnf 里面并没有[mysqld] 修改方法一: 在my.cnf中添加 [mysqld] character_set_server=utf8 init_connect=

MySQL乱码的原因和设置UTF8数据格式

https://segmentfault.com/a/1190000018662023 MySQL使用时,有一件很痛苦的事情肯定是结果乱码.将编码格式都设置为UTF8可以解决这个问题,我们今天来说下为什么要这么设置,以及怎么设置. MySQL字符格式 字符集 在编程语言中,我们为了防止中文乱码,会使用unicode对中文字符做处理,而为了降低网络带宽和节省存储空间,我们使用UTF8进行编码.对这两者有什么不同不够了解的同学,可以参考Unicode字符集和UTF8编码编码的前世今生这篇文章. 同样

java utf8字符 导出csv 文件的乱码问题。

在输出的格式为UTF-8的格式,但是打开CSV文件一直为乱码,后来参考了这里的代码,搞定了乱码问题,原文请参考:http://hbase.iteye.com/blog/1172200 private static void writeBcp( ) throws IOException { //Create bcp file if not exist File bcpFile = new File("test.csv"); //bcpFile.delete(); byte[] bom =

【转载】在Windows终端中显示UTF-8字符

一直苦恼于如何在Windows终端中显示UTF-8字符的问题.比如,在MySQL命令行下,如果数据库的编码是UTF-8,那么,在查询数据库的时候,里面的中文都会变成乱码.今天半无意的搜索了一下,结果发现解决方案非常简单:1. 修改终端的代码页.在终端中输入:chcp 65001 2. 右键点击任务栏上的终端(也可以单击窗口左上角的图标),在快捷菜单中选择属性,在里面选择字体——如 Lucida Console,不要选择“点阵字体”:确定之后,再次测试UTF-8输出,你看到了什么. :)要切换回原

SecureCRT中文乱码解决已设置UTF-8了

问题描述 SecureCRT与SecureFX的常规选项里面已经设置成了UTF-8,但是在SecureCRT中新建的中文文件夹,在SecureFX里面仍是乱码,这个问题,找了很多的方法,最后还是解决了,在这里和大家分享下. 查看服务器编码 查看linux的编码,修改为自己需要的,本文将已UTF-8为例进行说明.修改Linux服务器的配置文件:[[email protected] ~]# vi /etc/sysconfig/i18n如果安装系统的时候选择了中文系统,则把LANG字段改为:LANG=

ASCII,Unicode,GBK和UTF-8字符编码的区别联系

ASCII,Unicode,GBK和UTF-8字符编码的区别联系 wyrssktzc11级分类:其他被浏览86次2016.05.27 检举 KingSta逍遥 采纳率:45%7级2016.05.27 ASCII.Unicode.GBK和UTF-8字符编码的区别联系 很久很久以前,有一群人,他们决定用8个可以开合的晶体管来组合成不同的状态,以表示世界上的万物.他们看到8个开关状态是好的,于是他们把这称为"字节".再后来,他们又做了一些可以处理这些字节的机器,机器开动了,可以用字节来组合出