一、FontToUTF8()方法修改字体:

  1、HelloWorldScene.h头文件中声明方法:

 char* FontToUTF8(const char* font);

  2、HelloWorldScene.cpp中书写方法:

 char* HelloWorld::FontToUTF8(const char* font)
{
int len = MultiByteToWideChar(CP_ACP, , font, -, NULL, );
wchar_t *wstr = new wchar_t[len + ];
memset(wstr, , len + );
MultiByteToWideChar(CP_ACP, , font, -, wstr, len);
len = WideCharToMultiByte(CP_UTF8, , wstr, -, NULL, , NULL, NULL);
char *str = new char[len + ];
memset(str, , len + );
WideCharToMultiByte(CP_UTF8, , wstr, -, str, len, NULL, NULL);
if (wstr)
delete[] wstr;
return str;
}

  HelloWorldScene.cpp中初始化init()方法里,调用方法进行中文转换:

 auto* label3 = Label::create(HelloWorld::FontToUTF8("开始游戏"), "宋体", );

  注意:这种方法可以使运行结果里的乱码成为中文,但是会有一个问题,就是在打包成apk时出现错误:

  错误:

  

  这是由于NDK不支持所用的C++库造成的。

二、XML文件调用修改字体:

  资源文件夹Resources下:

  

  文件内容都如下:

 <dict>
<key>string</key>
<string>开始游戏</string>
</dict>

  

  HelloWorldScene.cpp中调用XML文件:

   auto *chnStrings = Dictionary::createWithContentsOfFile("UTF8.xml");
const char *str1 = ((String*)chnStrings->objectForKey("string"))->getCString();
  auto* label3 = Label::create(str1, "宋体", );

  注意:xml文件和bak文件都是要保存为UTF-8编码格式,这个很重要:

  

  结果如图:

  

  打包验证:

  

  

  

  

  打包成功!

  

CoCos2dx开发:中文乱码的更多相关文章

  1. Openfire Strophe开发中文乱码问题

    网站上有很多Openfire Web方案,之前想用Smack 但是jar包支持客户端版本的,还有JDK版本问题  一直没调试成功  估计成功的方法只能拜读源码进行修改了. SparkWeb 官网代码很 ...

  2. cocos2d-x解决中文乱码问题的几种办法

    昨天改写cocos2d-x的例程,想在其基础上加上一个计分系统.没有分数实在让人没有玩下去的动力! 我在主场景上加上了一个CCLabelTTF,用于显示分数. 但是意外的发现,当内容含有中文时,CCL ...

  3. JAVA开发中文乱码的几个解决方案

    一:html乱码或者引入的JS乱码 1:第一步,text file encoding 首先确保文件的保存格式要UTF-8,如在eclipse中,要在文件上点属性,确保这里选择UTF-8 注意,在ecl ...

  4. 01--Java开发中文乱码问题分析

    一.常见的编码格式 1. ASCII码 总共128个字符,用1个字节的低7位表示,0~31是控制字符,32~126是打印字符. 2.  ISO-8859-1 ISO组织在ASCII基础上进行扩展,仍是 ...

  5. cocos2dx解决中文乱码方法

    使用plist文件,优点方便做多国语言支持~也不用去做编码转换 1.Resource目录下新建text.plist文件,内容格式如下 <?xml version="1.0" ...

  6. Cocos2d-x 3.1.1 学习日志4--cocos2d-x解决中文乱码问题的几种办法

    做个打飞机的游戏,由于版本号太新,网上基本没有教教程,我的版本号是cocos2d-x 3.1.1的.今天遇到cocos2dx中中文乱码的问题.无奈仅仅好Google百度寻求答案,明确了这个问题的缘由. ...

  7. java中文乱码分析整理

    在JavaWeb应用开发中,经常会出现页面中本该显示中文的地方却是乱码的情况.究其原因,主要是由于在Web组件之间.或Web组件与浏览器.与数据库所使用的字符集标准不统一,Web应用程序运行过程中,中 ...

  8. Java编程中中文乱码问题的研究及解决方案

    0 引言 Java最大的特性是与平台的无关性及开发环境的多样性.字符串被Java应用程序转化之前,是根据操作系统默认的编码方式编码.Java语言内部采用Unicode编码,它是定长双字节编码,即任何符 ...

  9. 移动开发之浅析cocos2d-x的中文支持问题

    题记:这阵子一直在学习cocos2d-x,其跨平台的特性确实让人舒爽,引擎的框架概念也很成熟,虽然相应的第三方工具略显单薄,但也无愧是一件移动开发的利器啊,有兴趣的朋友有时间就多了解吧. 使用引擎的过 ...

  10. cocos2dx 3.2 解决输入框(TextField,TextFieldTTF) 中文乱码问题

    近期开发cocos2dx 项目,做一个小游戏.(个人喜欢用最新版本号) 没系统学习就是问题多多,遇到了非常多问题,比方全部的opengl api都必须在主线程中调用, 这让我在多线程载入方面吃了不少亏 ...

随机推荐

  1. Javaweb拦截器

    http://blog.csdn.net/reggergdsg/article/details/52962774

  2. mr统计每年中每月温度的前三名

    weatherMapper package com.laoxiao.mr.weather; import java.text.ParseException; import java.text.Simp ...

  3. 惠普笔记本fn键

    fn+shift+f10 看到fn上的小灯亮了就可以了

  4. C#的split分割的举例

    下面列举了split分割字符串的几种示例: string te = ";"; string re = "a;b"; string se = "a&qu ...

  5. 如何让div弄成可以输入文字

    如何让div弄成可以输入文字 加一个contenteditable="true"属性即可.   <!DOCTYPE html> <html lang=" ...

  6. 20175316盛茂淞 2018-2019-2 《Java程序设计》第8周学习总结

    20175316盛茂淞 2018-2019-2 <Java程序设计>第8周学习总结 教材学习内容总结 第十五章 泛型 -- 主要目的是可以建立具有类型安全的集合框架,如链表.散列映射等数据 ...

  7. CSS追加笔记

    box-shadow 属性向框添加一个或多个阴影. 语法 box-shadow: h-shadow v-shadow blur spread color inset;注释:box-shadow 向框添 ...

  8. IDEA中通过工具类实现对数据库的增删改查

    package com.hu.dao; import com.hu.entity.Student; import java.util.List;import java.util.Map; public ...

  9. 通过sqoop将hdfs数据导入MySQL

    简介:Sqoop是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql.postgresql...)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL ,Oracl ...

  10. Centos 安装 mysql tar.gz

    http://www.cnblogs.com/coderls/p/6848873.html