cocos2d-x 中文 乱码问题
最近好些人都有问到,cocos2d-x 对中文支持真不好。。。。。各种乱码,甚至连注释放在MAC下都乱码。解决操作步骤如下,备忘一下:
1:选中有中文的那个cpp,点文件另存为,在保存这里竟然有个小箭头
这个cpp就UTF-8化了,然后中文就正常了,好麻烦。。。这是现在彩鸟笔者唯一能找到方便的方法,所以,把所有中文字符都扔在一个文件中吧,用#define什么的,方便使用,也方便维护啊嘎嘎
2:第二种就是用iconv库了,喂喂cocos2d-x有包含这个库吧,没用过,就不阐述了,引擎作者大神说过可以哦~
补充:最近无事就用了iconv库,喂喂为什么网上找的都是有个小错误啊,我改了,然后放上来,记得包含库哦~泪流满面保证可用
#include "iconv.h" int code_convert(char *from_charset,char *to_charset,char *inbuf,size_t inlen,char *outbuf,size_t outlen) { iconv_t cd; const char *temp = inbuf; const char **pin = &temp; char **pout = &outbuf; cd = iconv_open(to_charset,from_charset); if(cd==0) return -1; memset(outbuf,0,outlen); if(iconv(cd,pin,&inlen,pout,&outlen)==-1) return -1; iconv_close(cd); return 0; } /*UNICODE码转为GB2312码*/ int u2g(char *inbuf,size_t inlen,char *outbuf,size_t outlen) { return code_convert("utf-8","gb2312",inbuf,inlen,outbuf,outlen); } /*GB2312码转为UNICODE码*/ int g2u(char *inbuf,size_t inlen,char *outbuf,size_t outlen) { return code_convert("gb2312","utf-8",inbuf,inlen,outbuf,outlen); }
完