cocos2d-x 中文 乱码问题

来源:互联网 发布:手机淘宝怎么举报商品 编辑:程序博客网 时间:2024/06/08 02:43

最近好些人都有问到,cocos2d-x 对中文支持真不好。。。。。各种乱码,甚至连注释放在MAC下都乱码。解决操作步骤如下,备忘一下:

1:选中有中文的那个cpp,点文件另存为,在保存这里竟然有个小箭头11

点之,再点编码保存221 再选这个编码

这个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);}



trackback:http://www.cnblogs.com/huangxinfj/archive/2011/07/26/2117267.html