大佬教程收集整理的这篇文章主要介绍了cocos2dx在写中文字体的时候出现乱码,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
有时候,根据程序的需要,可能会添加中文字体,但是程序在编码的时候可以能会出现乱码,那么这么处理呢,看如下代码:
#include <stdio.h> #include <stdlib.h> #include <String.h> #ifdef WIN32 #define UTEXT(str) GBKToUTF8(str) #else #define UTEXT(str) str #endif #ifdef WIN32 #include "platform/third_party/win32/iconv/iconv.h" static char g_GBKConvUTF8Buf[5000] = {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,5000); 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
上面是汉字转换,有可能出先连接出问题的情况,那是程序所用到的iconv的lib没用添加进去,你只需要在你的工程--属性--连接--输入--添加依赖项--libiconv.lib(添加这个lib文件就可以了)
以上是大佬教程为你收集整理的cocos2dx在写中文字体的时候出现乱码全部内容,希望文章能够帮你解决cocos2dx在写中文字体的时候出现乱码所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。