cocos2d-x 3.2 在window平台vs2012下解决中文乱码问题
来源:互联网 发布:堆排序算法和其他的 编辑:程序博客网 时间:2024/05/21 06:36
坑底的vs2012搞了一上午才发现乱码问题是怎么回事
在其他平台下文件编码一般都是utf-8,可是在vs2012上面使用的是gb2312,问题来了,你要是想输入中文就是乱码
解决办法很简单的
cocos2d-x内部是以utf8处理文本的,而VS直接输入时文本编码为GBK,如果添加L标志,则为Unicode编码。
解决这个问题有三种办法:
将源代码文件保存为utf8编码,不过由于编译器的问题,这种方式会导致很多无法预测的问题
将字符串用utf8编码集中存到一文件中,然后用代码读取这些字符串来使用,这种办法还能很好的支持多语言版本
使用字符串时,先将其转换为utf8编码
我最终使用了第三种方法,第一种撇开不说,第二种实现起来比较麻烦,第三种则要方便很多。//加这个函数,G2U,我自己写的函数名。
glview=GLView::create(G2U(飞机大战));//然后把这个函数加上
char* AppDelegate::G2U(const char* gb2312)
{
int len = MultiByteToWideChar(CP_ACP, 0, gb2312, -1, NULL, 0);
wchar_t* wstr = new wchar_t[len+1];
memset(wstr, 0, len+1);
MultiByteToWideChar(CP_ACP, 0, gb2312, -1, wstr, len);
len = WideCharToMultiByte(CP_UTF8, 0, wstr, -1, NULL, 0, NULL, NULL);
char* str = new char[len+1];
memset(str, 0, len+1);
WideCharToMultiByte(CP_UTF8, 0, wstr, -1, str, len, NULL, NULL);
if(wstr) delete[] wstr;
return str;
}//然后在头文件里面加上函数声明就可以了
char* G2U(const char* gb2312) ;
- cocos2d-x 3.2 在window平台vs2012下解决中文乱码问题
- cocos2d-x 3.2 在window平台vs2012下解决中文乱码问题
- C0C0S2D-X在windows平台下中文乱码解决;
- cocos2d-x解决中文乱码问题
- 解决cocos2d-x 中文乱码的问题
- Cocos2d-x在vs2012下环境部署 (主要解决InstallWizardForVS2012.js问题)
- cocos2d-x解决中文乱码问题(详细)!(跨平台)
- cocos2d-x 3.2 LabelTTF 解决中文乱码
- cocos2d-x 3.1.1 step by step 学习笔记3 Win32平台下中文乱码问题
- cocos2d-x解决中文乱码
- cocos2d-x 中文 乱码问题
- cocos2d-x 中文 乱码问题
- 【Cocos2d-X】中文乱码问题
- Cocos2d-x 中文乱码问题
- cocos2d-x解决中文乱码问题的几种办法
- cocos2d-x解决中文乱码问题的几种办法
- vs2012下安装Cocos2d-x模板问题
- COCOS2D-X WINDOW平台下安装配置
- SecureCRT设置
- Nexus私服无法下载SNAPSHOT版本的jar包
- 出现$(#form).validate is not a function的问题
- VC++中不能为控件添加成员变量 深入本质
- 在gridview中的adapter中引入gridview,并获取其中子控件的值
- cocos2d-x 3.2 在window平台vs2012下解决中文乱码问题
- 关于/dev/null 和 /dev/zero文件详解以及误删/dev/null和/dev/zero的解决方法和利用/dev/zero进行磁盘IO测试方法
- 排序算法
- ViewGroup selector属性问题...
- 如果你一天或几天都等不到他的电话或信息
- log4j学习资料
- 利用ProGuard进行代码混淆
- 【树形DP】【poj 2057】The Lost House
- hdu5074——Hatsune Miku