vs 中 cocos2d x 中文亂碼

2021-06-23 00:41:16 字數 1268 閱讀 2894

整了將近兩天終於暫時解決了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...