• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
vanstar
不知有汉,无论魏晋
博客园    首页    新随笔    联系   管理    订阅  订阅

cocos2d-x 中文 乱码问题

最近好些人都有问到,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);
}

 

完

posted @ 2011-07-26 15:13  vanstar  阅读(3656)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3