解决cocos2dx在VS2012中文版环境下不支持中文的问题

摘要:
因为它的编码格式是UTF-8(无签名)——这正是我在互联网上找到的结论。Cocos2dx能否正确显示中文?VS2012中文版的默认编码格式为GB2312-80(我不确定英文版的格式。让cocos2d x程序以UTF-8(无符号)格式从文本中读取汉字。1.更改源文件编码格式VS2012提供了一种直接修改源文件的默认编码格式的方法。

  首先要明确的一点是:cocos2dx是支持中文的。因为其编码格式为UTF-8(无签名)——这只是我在网上找到的结论,并非从官方获取,因此不能十分确定,不过应该无误。

  那么,为什么在VS2012环境下,cocos2dx不能正确显示中文呢?

  这是因为二者编码格式不一致。VS2012中文版的默认编码格式为GB2312-80(我不确定英文版的格式如何,总之应该不是UTF-8)。在GB2312-80编码格式中,一个中文占2个字节,而在UTF-8格式中,一个中文占3个字节。这就势必会出现乱码。

  找到了原因,办法就很清楚了。目前我找到两个比较简单的办法:1.更改源文件的编码格式;2.令cocos2d-x程序从UTF-8(无签名)格式的文本中读取中文字符。具体方法如下:

1.更改源文件的编码格式

  VS2012中文版提供了直接修改源文件默认编码格式的方法,选择:文件->高级保存选项,然后在里面选择编码为Unicode(UTF-8 无签名)。之后,该源文件就是UTF-8格式的编码了,自然能够使cocos2d-x正确解析。且实验证明,使用cocos run -p android在安卓机上运行,也能够正确显示中文。

2.从文件中读取中文字符

  网上查阅资料,大多推荐这种方法。可以使用FileUtils的单例对象读取文本文件、列表文件。其getValueVectorFromFile、getValueMapFromFile、getStringFromFile等方法可以方便的提取出文本内容。只需要将欲读取的文件的编码格式设置为UTF-8(无签名)就可以正确获取中文了。

TIPS:如何从一个中文字符串中获取单个中文字符?

  如同遍历普通字符串一样,有时候也会需要遍历中文字符串。这时候就不能用普通的遍历方法了,这是因为一个中文占据了三个字节,读取时候应该准备四个字节来存放它,最后一个字节为'

免责声明:内容来源于网络,仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇【数据分析&数据挖掘】数据合并和拼接案例Ubuntu18.04完全卸载vscode下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

php 安装教程

php 安装教程  本文采用php7.0.1作为样例,进行安装。 系统环境:   CentOS6.7.   gcc 4.8.2   libzip 1.0.1 在安装之前,可以先更新CentOS系统。 yum -y update 下载相应依赖文件 wget "http://cn2.php.net/distributions/...

tcl/tk之流程控制命令

作为学习笔记,写下来仅供自己查阅。 tcl脚本命令风格有些类似linux命令,比较古老和原始的语言,学过linux的看起来应该毫无压力 if 命令 if {$x < 0} {     set x 0 }   if {$x < 0} {     ... } elseif {$x == 0} {     ... } elseif {$x == 1}...

Linux升级OpenSSH 和 OpenSSL 详细步骤

升级所需的安装包都应提前放到服务器,以免后面无法连接 #####准备工作##### 一、配置更新 yum源 (是为了可以在线下载更新需要的安装包) 1.删除当前所有yum源文件cd /etc/yum.repos.drm -rf 文件名 2.编辑新的yum源文件 vi rhel6.7.repo 粘贴如下信息保存 若这个粘贴出现错误就用CentOS-Base...

eclipse svn插件 设置自动加锁相关

 eclipse svn插件 设置自动加锁相关 Subclipse 1.10.9 发布,改进说明:SVNKit 1.8.8Exception proof repository sorter. (1616)Subclipse 是一个为 Eclipse IDE 添加 Subversion 支持的项目。支持几乎所有版本的Eclipse。Eclipse的更新地址是...

邂逅Sass和Compass之Compass篇

本文主要讲解Compass的内容,众所周知Compass是Sass的工具库,如果对Sass不甚了解的同学可以移步 邂逅Sass和Compass之Sass篇 Sass本身只是一个“CSS预处理器”,Compass在它的基础上,封装了一系列的模块和模板,补充了Sass的功能。 1.Compass的安装 和Sass一样,Compass也是用Ruby语言开发的,所...

DLL发布 matlab代码发布

https://blog.csdn.net/alansss/article/details/81320548 最近需要将写好的matlab代码转成基于OpenCV的代码,然后再封装成dll进行发布。一开始直接看基于OpenCV的dll生成,但是都不太成功,故而先试试没有OpenCV的dll生成。 主要参考了以下两个网页:  VS2013生成dll及动态调用...