[cocos2d-x] --- 完美解决中文乱码

[cocos2d-x] --- 完美解决中文乱码,第1张

概述一 介绍 最近由于各种各样的原因,好长时间没有学习cocos2d-x了。突然有种害怕的感觉,这样下去,以前学的关于cocos2d-x的一点皮毛会彻底忘记的,下次再学,估计又得重头开始了。所以,还是要平时多多使用吧,持之以恒最重要了... 由于在cocos2d-x中直接使用中文会出现乱码,谁让cocos2d-x是由cocos2d而来,而cocos2d这东西是老外写的呢?通常解决中文乱码有两种方法:

一介绍

最近由于各种各样的原因,好长时间没有学习cocos2d-x了。突然有种害怕的感觉,这样下去,以前学的关于cocos2d-x的一点皮毛会彻底忘记的,下次再学,估计又得重头开始了。所以,还是要平时多多使用吧,持之以恒最重要了...

由于在cocos2d-x中直接使用中文会出现乱码,谁让cocos2d-x是由cocos2d而来,而cocos2d这东西是老外写的呢?通常解决中文乱码有两种方法:

(1)使用iconv库,cocos2d-x中提供了这个库,但是只是在win32平台,当程序移植到AndroID等平台时,需要自己下载iconv库编译。

(2)将中文字符串写到XML文件中(注意XML文件格式保存为UTF-8),然后解析XML文件,格式可以仿照AndroID中的strings.xml,而且这种方法能方便以后的国际化。

通过比较,可以很容易的发现第二种方法更好,那么下面就介绍第二种方法,让我们能在cocos2d-x程序中使用中文,彻底解决中文乱码问题。


二实现
1新建XML文件,按照一定的格式,输入相应要显示的中文,最后一定需要使用UTF-8格式保存文件

[HTML] view plain @L_502_1@ print ? @H_403_61@ <dict> key>Hello</> string>你好!>Info>我是hahaya。>


2代码实现

[cpp] ? /**在cocos2d-x中使用中文**/ //利用CCDictionary来读取xml @H_403_61@ CCDictionary*strings=CCDictionary::createWithContentsOffile("strings.xml"); //读取Hello键中的值objectForKey根据key,获取对应的string @H_403_61@ constchar*hello=((CCString*)strings->objectForKey("Hello"))->m_sstring.c_str(); //读取Info键中的值 char*info=((CCString*)strings->objectForKey("Info"))->m_sstring.c_str(); //显示 cclabelTTF*labelHello=cclabelTTF::create(hello,"Arial",24); @H_403_61@ labelHello->setposition(ccp(size.wIDth/2,size.height-50)); this->addChild(labelHello,1); @H_403_61@ cclabelTTF*labelinfo=cclabelTTF::create(info,30); @H_403_61@ labelinfo->setposition(ccp(size.wIDth/2,size.height-100)); this->addChild(labelinfo,1);

3程序运行效果

总结

以上是内存溢出为你收集整理的[cocos2d-x] --- 完美解决中文乱码全部内容,希望文章能够帮你解决[cocos2d-x] --- 完美解决中文乱码所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/1004651.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-22
下一篇2022-05-22

发表评论

登录后才能评论

评论列表(0条)

    保存