完美解决Cocos2d-x C++ VS 中文乱码的问题

23 篇文章 1 订阅
19 篇文章 0 订阅

Cocos2d-x C++ Windows下Visual Studio中文乱码怎么办?Cocos2d-x C++如何高效实现跨平台正常输出中文?

先来说下解决方案吧,往下有时间再探讨原理:

1. 解决方案:

1.1. 概要:

  1. 使用高版本的VS,将源代码文件保存为utf-8格式,接着在源码开头处告诉编译器要用utf-8编码方案进行解析源代码。
    这样做直接就可以了正常解析源码中的中文了,无需使用xml文档或者对源码中的中文字符进行额外的转码处理。
  2. 特别注意:使用Cocos2d-x创建Label或者其他对象时,请确保所使用的字体含中文。
    如果所用的字体不包含中文(预览图显示时会显示成Abg,体积小,一般1兆左右),那么照样是没法正常显示的,因为字体本身都不包含对中文字符的处理,使用这样的字体怎么可能会正常显示中文呢?字体如果含中文,一般预览图会显示成“简体字”,而且体积一般比较大(几十兆)
    在这里插入图片描述

1.2. 具体步骤

  1. 安装VS2019(应该Visual Studio 2015以上都可以,不过我的是VS2019)

  2. 【文件】-》【高级保存选项】-》【UTF-8带签名 65001】
    注意高级选项默认情况下未开启,需要手动开启,如未开启,参考本文解决方案的【附加步骤:VS开启高级保存选项】。
    在这里插入图片描述
    在这里插入图片描述

  3. 在源代码文件开头处告诉编译器要使用utf-8编码方案进行解析源代码,不这样声明会默认采用GB2312的解码方案进行解码,这样的话如果包含中文,有较大概率会导致出错,编译器无法正常解析源码内的变量、函数等内容。

#if defined(_MSC_VER) && (_MSC_VER >= 1900)
#pragma execution_character_set("utf-8")
#endif

在这里插入图片描述
Visual Studio 2015的_MSC_VER定义是1900,如果已确定使用的VS版本高于VS2015,可以直接使用。

#pragma execution_character_set("utf-8")

1.3. 附加步骤:VS开启高级保存选项

  1. 单击【工具】|【自定义】命令,弹出【自定义】对话框。在这里插入图片描述
    在这里插入图片描述
  2. 单击【命令】标签,进入【命令】选项卡。
    在这里插入图片描述
  3. 在【菜单栏】下拉列表中,选择【文件】选项。
    在这里插入图片描述
  4. 单击【添加命令】按钮,弹出【添加命令】对话框。
    在这里插入图片描述
  5. 在【类别】列表中,选择【文件】选项;在“命令”列表中,选择【高级保存选项】选项。接着单击【确定】按钮,关闭【添加命令】对话框。
    在这里插入图片描述
  6. 选中【控件】列表中的“高级保存选项”选项,可以单击【上移】或者【下移】以及【删除】按钮,调整该命令的位置。
    最后单击【关闭】按钮,完成【高级保存选项】命令的添加操作。
    在这里插入图片描述
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

COCO56(徐可可)

建议微信红包:xucoco56

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值