cocos2d x中文亂碼問題解決

2021-08-13 13:58:01 字數 1910 閱讀 6071

這裡寫乙個工具類——xmlparser,用來解決遊戲中出現的中文亂碼問題。

主要是把遊戲中要使用到的文字儲存在xml檔案中,通重載入這個檔案,並且訪問name節點,來獲取相對應的中文。

xmlparser.h如下 //

//  xmlparse.h

//  game1

////  created by imac on 15-7-24.

////

#ifndef __game1__xmlparse__

#define __game1__xmlparse__

virtual void endelement(void *ctx, const char *name);

// 對應xml標籤文字

virtual void texthandler(void *ctx, const char *s, int len);

// 獲取對應標籤的字串

cocos2d::string* getstring(const char *key);

private:

cocos2d::ccdictionary *m_pdictionary;

std::string m_key;

std::string startxmlelement;

std::string endxmlelement;

};#endif /* defined(__game1__xmlparse__) */

xmlparser.cpp如下 //

//  xmlparse.cpp

//  game1

////  created by imac on 15-7-24.

////

#include "xmlparse.h"

//字元ascii碼

// 空格

const static int space = 32;

// 換行

const static int nextline = 10;

// tab 橫向製表符

const static int tab = 9;

string replace(string source, string pattern, string dstpattern)

}result += source.substr(i);

return result;

}xmlparser* xmlparser::parsewithfile(const char *xmlfilename)

cc_safe_delete(pxmlparser);

return null;

}bool xmlparser::initwithfile(const char *xmlfilename)

xmlparser* xmlparser::parsewithstring(const char *content)

cc_safe_delete(pxmlparser);

return null;

}bool xmlparser::initwithstring(const char *content)

//開始乙個節點

// 比如 木\n樁\n怪

xmlparser的使用:

xmlparser *pxmlparser = xmlparser::parsewithfile("tujilayer.xml");

string *mz = pxmlparser->getstring("muzhuang");

m_pmzlabel = labelttf::create(mz->getcstring(), "", 30); // 注意此處的getcstring()

這樣一來,中文亂碼問題就得到解決了。

cocos2d x 中文 亂碼問題

最近好些人都有問到,cocos2d x 對中文支援真不好。各種亂碼,甚至連注釋放在mac下都亂碼。解決操作步驟如下,備忘一下 1 選中有中文的那個cpp,點檔案另存為,在儲存這裡竟然有個小箭頭 點之,再點編碼儲存 這個cpp就utf 8化了,然後中文就正常了,好麻煩。這是現在彩鳥筆者唯一能找到方便的...

cocos2dx 解決中文亂碼問題

在使用cocos2dx的時候,裡面使用了中文或者是在cocos studio編輯器裡面使用了中文,顯示的時候會出現亂碼問題,下面提供幾個解決方案 pragma execution character set utf 8 問題與解決方法 在windows環境下使用visual studio 開發coc...

cocos2d x解決中文亂碼

一 介紹 最近由於各種各樣的原因,好長時間沒有學習cocos2d x了。突然有種害怕的感覺,這樣下去,以前學的關於cocos2d x的一點皮毛會徹底忘記的,下次再學,估計又得重頭開始了。所以,還是要平時多多使用吧,持之以恆最重要了.由於在cocos2d x中直接使用中文會出現亂碼,誰讓cocos2d...