新建.h文件,加入一下代码
#pragma once#include"string.h"#include"stdlib.h"#ifdef WIN32#define UTEXT(str) GBKToUTF8(str)#else#define UTEXT(str) str#endif#ifdef WIN32#include "cocos2d\external\win32-specific\icon\include\iconv.h"static char g_GBKConvUTF8Buf[500] = { 0 };const char* GBKToUTF8(const char *strChar){ iconv_t iconvH; iconvH = iconv_open("utf-8","gb2312"); if (iconvH == 0) { return NulL; } size_t strLength = strlen(strChar); size_t outLength = strLength << 2; size_t copyLength = outLength; memset(g_GBKConvUTF8Buf,0,sizeof(g_GBKConvUTF8Buf)); char* outbuf = (char*)malloc(outLength); char* pBuff = outbuf; memset(outbuf,outLength); if (-1 == iconv(iconvH,&strChar,&strLength,&outbuf,&outLength)) { iconv_close(iconvH); return NulL; } memcpy(g_GBKConvUTF8Buf,pBuff,copyLength); free(pBuff); iconv_close(iconvH); return g_GBKConvUTF8Buf;}#endif
在需要转换字符的地方调用 UTEXT() 就行
总结以上是内存溢出为你收集整理的cocos2dx 解决中文乱码全部内容,希望文章能够帮你解决cocos2dx 解决中文乱码所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)