码迷,mamicode.com
首页 > 其他好文 > 详细

cocos2dx学习笔记(4)——VS2010中的中文乱码问题

时间:2014-05-06 16:37:50      阅读:342      评论:0      收藏:0      [点我收藏+]

标签:乱码   中文   vs   cocos2d   

当你想使用中文时,你是否有这样的一个困惑。

把样例中的HelloWorld改成中文的 “你好,世界!”。

然后编译运行,发现居然是个乱码!!!

bubuko.com,布布扣


因为cocos2dx中使用的是UTF-8字符集,而VS中确实ANSI。

所以我们需要对其进行字符集转换。


然后纵里寻它求百度,终于找到了解决方案。

一个函数搞定!


#include "cocos2d.h"
char* toUTF(const char* strGB2312)
{
    int iLen = MultiByteToWideChar(CP_ACP, 0, strGB2312, -1, NULL, 0);
    wchar_t* wstr = new wchar_t[iLen+1];
    memset(wstr, 0, iLen+1);
    MultiByteToWideChar(CP_ACP, 0, strGB2312, -1, wstr, iLen);
    iLen = WideCharToMultiByte(CP_UTF8, 0, wstr, -1, NULL, 0, NULL, NULL);
    char* strUTF8 = new char[iLen+1];
    memset(strUTF8, 0, iLen+1);
    WideCharToMultiByte(CP_UTF8, 0, wstr, -1, strUTF8, iLen, NULL, NULL);
    if(wstr) delete[] wstr;
    return strUTF8;
}


为了方便使用,你可以把上面的函数放到一个.h文件里面去,然后要使用的话,只要#include就可以了。

至于函数中一些变量:

   MultiByteToWideChar , WideCharToMultiByte

   CP_ACP , CP_UTF8

有兴趣的自行百度。不过不了解也没关系,反正只要会调用上面的函数就可以了。。。


bubuko.com,布布扣




本文出自 “夏天的风” 博客,请务必保留此出处http://shahdza.blog.51cto.com/2410787/1406960

cocos2dx学习笔记(4)——VS2010中的中文乱码问题,布布扣,bubuko.com

cocos2dx学习笔记(4)——VS2010中的中文乱码问题

标签:乱码   中文   vs   cocos2d   

原文地址:http://shahdza.blog.51cto.com/2410787/1406960

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!