整了將近兩天終於暫時解決了vs 中 cocos2d-x 中文亂碼的問題。
解決辦法:
1. 在vs建立.h檔案和.cpp檔案的時候,敲**前就要儲存成utf8無簽名格式,不然敲了**再儲存可能出問題;
2. 從外部檔案中讀入中文;
3. 用cocos2d-x自帶的庫轉碼;
用法:建立utf8.h和utf8.cpp
utf8.h**:
#ifdef win32
#define u(str) gbktoutf8(str)
#else
#define u(str) str
#endif
#ifdef win32
#include "iconv/iconv.h"
#include
#include
externconst char* gbktoutf8(const char *strchar);
#endif
utf8.cpp**:
#include "utf8.h"
static char g_gbkconvutf8buf[5000] = ;
const char* gbktoutf8(const char *strchar)
size_t strlength = strlen(strchar);
size_t outlength = strlength<<2;
size_t copylength = outlength;
memset(g_gbkconvutf8buf, 0, 5000);
char* outbuf = (char*) malloc(outlength);
char* pbuff = outbuf;
memset( outbuf, 0, outlength);
if (-1 == iconv(iconvh, &strchar, &strlength, &outbuf, &outlength))
memcpy(g_gbkconvutf8buf,pbuff,copylength);
free(pbuff);
iconv_close(iconvh);
return g_gbkconvutf8buf;
}然後用到中文的地方引入utf8.h標頭檔案後,呼叫u()函式就行了比如:
cclabelttf * _label = cclabelttf::create(u("中文 "), "微軟雅黑",32);
注:標頭檔案中的extern關鍵字很重要!
cocos2d x 中文 亂碼問題
最近好些人都有問到,cocos2d x 對中文支援真不好。各種亂碼,甚至連注釋放在mac下都亂碼。解決操作步驟如下,備忘一下 1 選中有中文的那個cpp,點檔案另存為,在儲存這裡竟然有個小箭頭 點之,再點編碼儲存 這個cpp就utf 8化了,然後中文就正常了,好麻煩。這是現在彩鳥筆者唯一能找到方便的...
cocos2d x解決中文亂碼
一 介紹 最近由於各種各樣的原因,好長時間沒有學習cocos2d x了。突然有種害怕的感覺,這樣下去,以前學的關於cocos2d x的一點皮毛會徹底忘記的,下次再學,估計又得重頭開始了。所以,還是要平時多多使用吧,持之以恆最重要了.由於在cocos2d x中直接使用中文會出現亂碼,誰讓cocos2d...
cocos2dx 解決中文亂碼問題
在使用cocos2dx的時候,裡面使用了中文或者是在cocos studio編輯器裡面使用了中文,顯示的時候會出現亂碼問題,下面提供幾個解決方案 pragma execution character set utf 8 問題與解決方法 在windows環境下使用visual studio 開發coc...