#pragma execution_character_set的意义

就是设置执行字符集,指示char的执行字符集是UTF-8编码。如果源文件中出现中文,必须要设置为

#pragma execution_character_set("utf-8")

references:
https://social.msdn.microsoft.com/Forums/vstudio/en-US/2f328917-4e99-40be-adfa-35cc17c9cdec/pragma-executioncharactersetutf8?forum=vcgeneral

http://www.cnblogs.com/Romi/archive/2012/03/12/2392478.html

http://www.cnblogs.com/zyl910/archive/2012/07/26/cfile_utf8.html

时间: 2024-08-10 00:06:02

#pragma execution_character_set的意义的相关文章

Cocos2d-x程序Windows下VC中文乱码的解决(用MultiByteToWideChar进行转换,VC2010有非常厉害的execution_character_set)

Cocos2d-x默认字符串常量编码都是UTF8的,而Windows中的VC默认都是跟系统相同,比如简体Windows是GB2312或者GBK.繁体就是BIG5编码.而我们大多数中国人用VC编译出来的字符串常量也就是GBK编码的字符串.在Cocos2d-x界面上绘制的时候它是不知道的,只会认为这个是UTF8字符串,结果就出现了乱码.解决方式也很简单.找个头文件加入下面的代码 #ifdef WIN32 inline std::wstring AnsiToUnicode(const char* bu

文件编码和文件内的字符串字面值编码是两个概念

我们知道,CALabel的字符串使用的是UTF8编码,通常在xcode下,直接CALabel *p = ...; p->setText("汉字"),显示汉字是没有任何问题的,但是,在VS2013中却显示的是乱码.很多人在群里面问了,我都答:请使用UTF8编码.他说,我的文件是UTF8格式的啊.呵呵,没那么简单好吗,文件编码和字符串字面值编码是两个概念. VS2013的一条预编译指令#pragma execution_character_set("utf-8")

QT学习之事件处理

Qt事件机制 Qt程序是事件驱动的, 程序的每个动作都是由幕后某个事件所触发.. Qt事件的发生和处理成为程序运行的主线,存在于程序整个生命周期. Qt事件的类型很多, 常见的qt的事件如下: 键盘事件: 按键按下和松开. 鼠标事件: 鼠标移动,鼠标按键的按下和松开. 拖放事件: 用鼠标进行拖放. 滚轮事件: 鼠标滚轮滚动. 绘屏事件: 重绘屏幕的某些部分. 定时事件: 定时器到时. 焦点事件: 键盘焦点移动. 进入和离开事件: 鼠标移入widget之内,或是移出. 移动事件: widget的位

关于QT的系统总结(非常全面,非常好)

源地址:http://www.cnblogs.com/wangqiguo/p/4625611.html 阅读目录 编译环境与开发流程 QT项目的构成及原理 QT中的布局 QT中的通用控件 QVariant 类型 QComboBox控件 QTableWidget控件 QTabWidget控件 QWebview控件 使用QSS 编码问题 QT的内存管理 QT的信号槽 QT中绘图 QT的线程 QT中使用第三方的dll QT中为控件添加右键菜单的方法 结束语 回到顶部 编译环境与开发流程 开发QT有两种

在Qt5使用中文(vs环境)

如果是使用mingw版本的Qt create, 也就是使用GCC编译器应该没那么多事吧. 不过我还是用惯了VS呢. 好了,废话不多说,开始总结vs下乱码的解决方案. vs2003 把源码存成 utf-8格式编码就可以直接中文了. vs2005/08/10/13 1 QString s1 = QStringLiteral("我是中文"); 2 QString s2 = QString::fromLocal8Bit("我是中文"); char *UnicodeToUTF

Qt之右键菜单

所谓“右键菜单”,我们可以这样来看:右键+菜单.所以我们可以定义一个菜单,然后重写鼠标点击事件,令菜单在鼠标右击的时候弹出来.这种方法是可以的,但是Qt提供了一种专门用于右键菜单的方法,且看下面这个属性: Qt::ContextMenuPolicy 通过函数setContextMenuPolicy()来设置一个widget上面显示的菜单的属性. 1.Qt::DefaultContextMenu 这个属性的默认值是Qt::DefaultContextMenu,此时需要调用函数contextMenu

Qt 项目总结(2014.7- )

记录在项目中碰到的形形色色.杂杂碎碎的问题(持续更新至项目结束) qrc文件配置 Qt中有一个管理资源的文件,后缀名为qrc,本质是简单的XML文件格式. 项目开始时的内容为: 1 <RCC> 2 <qresource> 3 4 </qresource> 5 </RCC> 例如在项目中要用到一个png图片来做图标 则可以写成(Resources文件夹与这个qrc配置文件在同一个目录下) 1 <RCC> 2 <qresource> 3

MSVC中C++ UTF8中文编码处理探究

字符编码的问题,上大学那会儿就遇到过,一直都是云里雾里,没太搞清楚.最近又遇到了问题,想在C++的控制台上输出Utf-8编码的汉字字节流.尝试了好多次都是乱码,后来花了些时间查查资料,又和同事交流了一下,算是把C++上对于UTF8编码的处理大概摸清楚了. 字符集 先说一个名词:字符集,没听过的先百度一下,其实就是一种将字符编码的格式,像我们常说的ASCII,UTF8,GBK都是常用的字符集. 首先要清楚,从你在编辑器里输入一个UTF8汉字开始,到最终在控制台上显示出来,整个流程涉及到三个概念,分

VS2013 Qt5 Mysql中文编码问题

Qt开始默认是utf-8,而VS2013默认程序编码为gb2312: 这样就会发现使用中文的时候乱码. 一般有二种解决方案: 1.在使用中文的时候,使用QTextCodec QTextCodec *gbk=QTextCodec::codecForName("gb2312"); QString str=gbk->toUnicode("中文"); 这样使用起来的比较繁琐,推荐使用第二种 2.改"Microsoft Visual Studio 12.0\V