Cocos移植到Android的一些問題-中文亂碼問題

Android平臺版本和設備碎片化很嚴重,所以從Win32平臺移植到Android平臺會有不少問題,下面是咱們概括的從Win32平臺移植到Android平臺遇到的一些問題。
在Android平臺中文亂碼並非一個問題,或者說在Android平臺是不該該出現中文亂碼的。這個問題究其根本是由於咱們在Windows下采用開發Android應用致使的問題。默認狀況下Windows中文環境是採用GBK編碼,源程序文件HelloWorldScene.cpp編碼默認也是GBK,若是源程序代碼中若是有中文輸入,例以下面的代碼:
html

[html] view plaincopy微信

  1. void HelloWorld::OnClickMenu1(Object* pSender)  函數

  2. {  工具

  3.     NoteDAO::initDB();  網站

  4.     NoteDAO::create("2008-08-16 10:01:02", "初始化數據。");  編碼

  5. }  spa

  6. void HelloWorld::OnClickMenu2(Object* pSender)  .net

  7. {  日誌

  8.     string currentTime = MyUtility::getCurrentTime();  code

  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在字符集的默認標準。


更多內容請關注國內第一本Cocos2d-x 3.2版本圖書《Cocos2d-x實戰:C++卷》

本書交流討論網站:http://www.cocoagame.net
更多精彩視頻課程請關注智捷課堂Cocos課程:http://v.51work6.com

歡迎加入Cocos2d-x技術討論羣:257760386

歡迎關注智捷iOS課堂微信公共平臺

相關文章
相關標籤/搜索