Cocos2d—X游戏开发之VS2010 控制台输出中文,模拟器中文乱码问题解决

摘要:
首先,先解决第一个问题,我们使用VS2010开发的时候,调试的时候,中文打印出来都是乱码,这个问题很纠结。不得不说,VS2010这个开发工具没说的,真是开发者的杯具开始。好的,废话不说,看下怎么使用控制台来调试我们的代码,能够正常输入中文。这里需要配置main.c,通过它来调出控制台输出中文,但是有一点限制,就是必须使用cout或者printf,而不能使用CCLog。

首先,先解决第一个问题,我们使用VS2010开发的时候,调试的时候,中文打印出来都是乱码,这个问题很纠结。

如下图:

CCLOG("cclog: 测试使用标签的自动换行和个别字体大写");LOGNEWLINE;

输出结果如下图:

<dict>
	cocos2d.x.version: 2.1rc0-x-2.1.4
	cocos2d.x.compiled_with_profiler: false
	cocos2d.x.compiled_with_gl_state_cache: true
	gl.vendor: NVIDIA Corporation
	gl.renderer: GeForce 310M/PCIe/SSE2
	gl.version: 3.3.0
	gl.max_texture_size: 8192
	gl.max_texture_units: 96
	gl.supports_PVRTC: false
	gl.supports_NPOT: true
	gl.supports_BGRA8888: false
	gl.supports_discard_framebuffer: false
	gl.supports_vertex_array_object: true
</dict>
cclog: ?????????????????к?????????д

这是很大的一个问题,是吗?英语不是很熟练的小伙伴们?

不得不说,VS2010这个开发工具没说的,真是开发者的杯具开始。尤其是对我使用MAC非常熟悉的人来说。

好的,废话不说,看下怎么使用控制台来调试我们的代码,能够正常输入中文。

这里需要配置main.c,通过它来调出控制台输出中文,但是有一点限制,就是必须使用cout 或者 printf ,而不能使用CCLog。

直接贴出代码:

#include "main.h"
#include "AppDelegate.h"
#include "CCEGLView.h"
#include "net/NetWork.h"
#include "adapter/RouterAdapter.h"
USING_NS_CC;
#define USE_WIN32_CONSOLE
int APIENTRY _tWinMain(HINSTANCE hInstance,
                       HINSTANCE hPrevInstance,
                       LPTSTR    lpCmdLine,
                       int       nCmdShow)
{
    UNREFERENCED_PARAMETER(hPrevInstance);
    UNREFERENCED_PARAMETER(lpCmdLine);
#ifdef USE_WIN32_CONSOLE
	AllocConsole();
	freopen("CONIN$","r",stdin);
	freopen("CONOUT$","w",stdout);
	freopen("CONOUT$","w",stderr);
#endif
    // create the application instance
    CCEGLView* eglView = CCEGLView::sharedOpenGLView();
    eglView->setViewName("MT");
    //eglView->setFrameSize(480,320);
    return CCApplication::sharedApplication()->run();
#ifdef USE_WIN32_CONSOLE
	FreeConsole();
#endif
}

通过这个USE_WIN32_CONSOLE来实现我们的代码调试。测试代码如下

CCLOG("cclog: 测试使用标签的自动换行和个别字体大写");LOGNEWLINE;
printf("printf: 测试使用标签的自动换行和个别字体大写");LOGNEWLINE;

VS2010输出窗口如下:

<dict>
	cocos2d.x.version: 2.1rc0-x-2.1.4
	cocos2d.x.compiled_with_profiler: false
	cocos2d.x.compiled_with_gl_state_cache: true
	gl.vendor: NVIDIA Corporation
	gl.renderer: GeForce 310M/PCIe/SSE2
	gl.version: 3.3.0
	gl.max_texture_size: 8192
	gl.max_texture_units: 96
	gl.supports_PVRTC: false
	gl.supports_NPOT: true
	gl.supports_BGRA8888: false
	gl.supports_discard_framebuffer: false
	gl.supports_vertex_array_object: true
</dict>
cclog: ?????????????????к?????????д

为什么只是输出CCLog,printf 呢?

看下控制台,如下:

Cocos2d—X游戏开发之VS2010 控制台输出中文,模拟器中文乱码问题解决第1张

然后是第二个问题,模拟器上竟然也是乱码!!!如果英语很好,在调试的时候,可以使用英文代替,但是到了开发的时候了,模拟器上中文竟然也是乱码??!

这是造的。

测试代码:

CCLabelTTF *testLabel = CCLabelTTF::create("测试使用标签的自动换行和个别字体大写,test","Zapfino",30);
	testLabel->setPosition(ccp(visibleSize.width*0.5,visibleSize.height*0.2));
	testLabel->setColor(ccc3(200,200,200));
	this->addChild(testLabel,1);

模拟器运行如下图:
Cocos2d—X游戏开发之VS2010 控制台输出中文,模拟器中文乱码问题解决第2张

有了时间在写,很快。

免责声明:文章转载自《Cocos2d—X游戏开发之VS2010 控制台输出中文,模拟器中文乱码问题解决》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇ChipScope——ISE软件的抓波形操作IdentityServer4 中文文档 -11- (快速入门)添加基于 OpenID Connect 的用户认证下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

怎么使用阿里云直播服务应用到现在主流直播平台中

一、业务场景 现在直播APP和直播业务非常火爆,越来越多的人玩直播. 早期直播:直播界定为“广播电视节目的后期(haobc)合成、播出同时进行的播出方式” 。主要是电视综艺节目直播、演唱会直播、体育赛事直播等。 现在互联网直播,用户通过移动设备、摄像设备直接拍摄和推流服务器直接连接。互联网用户通过移动设备直接观看直播,延迟非常低。 应用方式:个人直播、游戏...

Mybatis将日志信息打印到控制台

在mybatis.config.xml中增加如下配置 (mybatis的主配置文件):   <configuration>   <settings>      <setting name="logImpl" value="STDOUT_LOGGING" />   </settings></config...

Unity用GUI绘制Debug/print窗口/控制台-打包后测试

Unity游戏视窗控制台输出 本文提供全流程,中文翻译。 Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 —— 高分辨率用户请根据需求调整网页缩放比例) Chinar —— 心分享、心创新!助力快速在 Game 视窗用 GUI 实现一个控制台的输出面板为新手节省宝贵的时间,避免采坑! Chinar 教程效果:(可打包后执...

如何修改cmd控制台默认编码为utf-8

如何修改cmd控制台默认编码为utf-8 1.打开cmd窗口后,在窗口顶部右击选择属性,选中选项后会看到默认编码为gbk 2.然后我们在默认窗口路径内,输入chcp命令后回车 936就表示gbk编码 3.然后在窗口中输入chcp 65001,然后回车,即可看到窗口默认编码为utf-8编码了 (65001代表utf-8编码) 4.上面的方法每次都要重新...

tomcat服务编码集设置

有三处需要记住修改 截图如下效果图: 第一处,对控制台右键,选择“默认值”找到,并设置为gbk: 第二处,在conf中找到server.xml文件并设置: 第三处:找到bin文件,找到tomcat80w.exe,双击打开切换到java选项:  全部设置成一种搞定,有了这个控制台直接输出,是不是很方便了? 需要注意的事,由于微信支付必须设置为utf-...

weblogic 忘记控制台账号密码 进行重新设置

第一步:首先要关闭weblogic服务。 第二步:对一些重要的文件进行备份: 1.为了保证操作安全,备份%DOMAIN_HOME%/security/DefaultAuthenticatorInit.ldift 2.进入管理服务器的AdminServer目录,如:%DOMAIN_HOME%/servers/AdminServer。将其中的data目录重命名...