`

Cocos移植到Android的一些问题-中文乱码问题

阅读更多

Android平台版本和设备碎片化很严重,因此从Win32平台移植到Android平台会有很多问题,下面是我们归纳的从Win32平台移植到Android平台遇到的一些问题。
在Android平台中文乱码并不是一个问题,或者说在Android平台是不应该出现中文乱码的。这个问题究其根本是因为我们在Windows下采用开发Android应用导致的问题。默认情况下Windows中文环境是采用GBK编码,源程序文件HelloWorldScene.cpp编码默认也是GBK,如果源程序代码中如果有中文输入,例如下面的代码:

[html] view plaincopy
 
  1. void HelloWorld::OnClickMenu1(Object* pSender)  
  2. {  
  3.     NoteDAO::initDB();  
  4.     NoteDAO::create("2008-08-16 10:01:02", "初始化数据。");  
  5. }  
  6. void HelloWorld::OnClickMenu2(Object* pSender)  
  7. {  
  8.     string currentTime = MyUtility::getCurrentTime();  
  9.     log("%s",currentTime.c_str());  
  10.     NoteDAO::create(currentTime, "欢迎使用MyNote。");  
  11. }  



这样程序编译之后的中文编码还是GBK,由于Android平台采用的编码是UTF-8,当它们在Android平台通过日志函数或标签等控件输出时候就会乱码。
解决方法很简单,我们只需要把HelloWorldScene.cpp文件另存为UTF-8就可以了,用记事本等文本编辑工具打然后另存为UTF-8就可以,如果是在Visual Studio工具中可以选择菜单文件→高级保存选项,在弹出如图所示对话框,选择编码为Unicode(UTF-8带签名),然后点击确定按钮保存。

 

高级保存选项

我们只需要对有中文字符的文件(包括h和cpp文件),采用上面的另存为UTF-8字符集就可以了,其它的文件可以不用考虑。需要记住的是在Android和iOS平台UTF-8在字符集的默认标准。

 

 

更多内容请关注最新Cocos图书《Cocos2d-x实战 C++卷》
本书交流讨论网站:http://www.cocoagame.net
更多精彩视频课程请关注智捷课堂Cocos课程:http://v.51work6.com
欢迎加入Cocos2d-x技术讨论群:257760386


《Cocos2d-x实战 C++卷》现已上线,各大商店均已开售:

京东:http://item.jd.com/11584534.html

亚马逊:http://www.amazon.cn/Cocos2d-x%E5%AE%9E%E6%88%98-C-%E5%8D%B7-%E5%85%B3%E4%B8%9C%E5%8D%87/dp/B00PTYWTLU

当当:http://product.dangdang.com/23606265.html

互动出版网:http://product.china-pub.com/3770734

 

《Cocos2d-x实战 C++卷》源码及样章下载地址:

源码下载地址:http://51work6.com/forum.php?mod=viewthread&tid=1155&extra=page%3D1 

样章下载地址:http://51work6.com/forum.php?mod=viewthread&tid=1157&extra=page%3D1

欢迎关注智捷iOS课堂微信公共平台
分享到:
评论

相关推荐

    android cocos2d-2.0-x-2.0.4 jar包

    开发cocos2d-20.0-x-2.0.4用的jar包,这个是最新的。懒人必备!!

    cocos2d-x-3rd-party-libs-bin-metal-support-22.zip

    5. **跨平台兼容**:虽然 Metal 主要是针对 Apple 平台,但 cocos2dx 通过 Metal 支持也使得开发者可以将部分代码复用到其他平台,实现一定程度的跨平台开发。 然而,需要注意的是,虽然 Metal 带来了诸多优势,但...

    cocos2d-1.0.1-x-0.13.0-beta--android-ndk-windows构建批处理.zip

    1. 请将文件放到cocos2d-1.0.1-x-0.13.0-beta目录下面 2. 打开build_android_ndk_tests.bat 文件 修改set NDK_ROOT=D:\Work7\android-ndk-r7c到你的NDK实际路径即可 3. jni/Application.mk 文件中加入 APP_MODULE : ...

    cocoscreator嵌入原生Android1

    本文将详细介绍如何将 CocosCreator 项目嵌入到原生 Android 项目中,包括编译 CocosCreator 项目、配置 Android 项目、添加libcocos2dx依赖模板、设置依赖模块、启动Cocos2dx等步骤。 一、编译 CocosCreator 项目 ...

    Cocos2d-x教程视频Cocos2d-x功能扩展-C++-Cocos2d-x-Android-iOS混合编程与NDK开发环境

    Cocos2d-x教程视频Cocos2d-x功能扩展-C++-Cocos2d-x-Android-iOS混合编程与NDK开发环境搭建提取方式是百度网盘分享地址

    将Cocos2dx从win32移植到android平台 不用cygwin

    总结,从Win32移植Cocos2d-x项目到Android平台并不复杂,关键在于理解两个平台之间的差异,正确配置环境,调整项目设置,并解决可能出现的兼容性问题。通过这个过程,开发者可以学习到跨平台开发的基本技巧,这对于...

    cocos引擎老版本集合(cocos2d-x-2.2.1 - 3.5)

    cocos引擎老版本下载集合(cocos2d-x-2.2.1 - 3.5),分别有cocos2d-x-3.5、cocos2d-x-3.4、cocos2d-x-3.2、cocos2d-x-2.2.6、cocos2d-x-2.2.2和cocos2d-x-2.2.1。

    cocos2d-x -2.0-rc2-x-2.0.1

    四、项目创建与构建工具:在提供的文件列表中,如`create-android-project.bat`和`create-android-project.sh`,是用于创建Android项目的批处理和shell脚本,它们简化了在不同操作系统上初始化新项目的步骤。...

    Android Cocos2d-x 环境配置

    2.7. **使用iconv库**:在Cocos2d-x中,有时需要处理字符编码问题,特别是当涉及到中文字符时。iconv是一个用于字符集转换的库,可以被Cocos2d-x项目所用。要使用iconv,你需要确保在你的项目中正确引用该库,并根据...

    Cocos2d-Android架包

    总的来说,Cocos2d-Android架包是一个全面的游戏开发解决方案,它涵盖了从地图设计到游戏逻辑实现的各个层面,旨在帮助开发者快速构建高质量的2D Android游戏。通过学习和掌握这个框架,开发者可以大大提高游戏开发...

    Cocos2d-JS---demo

    1. **跨平台**:Cocos2d-JS 允许开发者使用 JavaScript 语言编写一次代码,可以部署在 iOS、Android、Web 浏览器等多个平台上,极大地提高了开发效率和代码的复用性。 2. **渲染引擎**:Cocos2d-JS 基于 ...

    cocos2d-x-3rd-party-libs

    《cocos2d-x与第三方库的IPv6适配及WebSocket技术详解》 在移动游戏开发领域,cocos2d-x是一个广泛使用的2D游戏引擎,它为开发者提供了丰富的功能和高效的性能。随着网络环境的变化,IPv6逐渐成为主流,对于cocos2d...

    cocos2d-android-1资源:API文档

    在Android平台上,cocos2d-x是其主要实现,而“cocos2d-android-1”可能是该框架的一个特定版本。这个压缩包中的“cocos2d-android-1-doc”文件很可能是该版本的API文档,对于开发者来说是一份非常重要的参考资料。 ...

    cocos2d-android

    在实际开发过程中,开发者还需要了解Android Studio的集成开发环境以及如何将cocos2d-android集成到项目中。此外,对于性能优化,理解内存管理、渲染优化和多线程编程也是必不可少的技能。 总之,cocos2d-android...

    亲试过可以通过cygwin编译发布cocos2d-x几种中文乱码解决方案

    此文档也是我从几天焦虑中发现可以用的几种解决cocos2d-x中文乱码的方法。亲自试过了。cygwin可以编译过。但是我感觉直接在代码里面写宽字符=L("中文") 似乎不行。自己编译那个iconv好像也难,用jni回调后java转码...

    idea cocos2d-x cocos-intellij-plugin-2.0.0-beta.zip

    2. **语法高亮与错误检测**:插件能识别Cocos2d-js的语法,并对错误和警告进行实时标注,帮助开发者及时发现和修复问题。 3. **项目构建与运行**:插件集成了Cocos2d-js的构建命令,可以直接在IDE内编译和运行项目...

    cocos引擎老版本集合(cocos2d-x-2.2.1 - 3.5).zip

    cocos引擎老版本下载集合(cocos2d-x-2.2.1 - 3.5),分别有cocos2d-x-3.5、cocos2d-x-3.4、cocos2d-x-3.2、cocos2d-x-2.2.6、cocos2d-x-2.2.2和cocos2d-x-2.2.1。

    cocos2d-x-v2:更新cocos2d-x 2.2.6的库并支持Android Studio,64位Android

    cocos2d-x 游戏类 通过PayPal支持更新第三库: $ 10,$ 50,$ 100等。 经过测试 带有ndk-r10d的cocos命令3.8.1 cocos run -p android --...cocos run -p android --android-studio --app-abi armeabi-v7a:arm64-v8

    cocos2d-x移植android平台iconv中文支持库

    总之,将预编译的Android版libiconv库集成到Cocos2d-x项目中,可以解决在Android平台上运行时的中文字符编码问题,确保游戏或应用在不同设备上的兼容性和一致性。这一步骤是跨平台开发过程中不可或缺的一部分,特别...

    cocos-to-playable-ad-master.zip

    这个工具允许开发者将他们的Cocos Creator项目轻松地部署到Web平台,无需复杂的配置过程。 Cocos Creator是一个强大的2D游戏开发引擎,它提供了可视化编辑器和脚本系统,支持JavaScript和TypeScript,使得游戏开发...

Global site tag (gtag.js) - Google Analytics