让ogre程序支持中文 & 让ogitor支持中文

1649 篇文章 11 订阅
1623 篇文章 22 订阅

1,让ogre程序支持中文

setlocale(LC_ALL,"Chinese-simplified");

将其放置在main函数开始,可以让ogre支持中文资源以及中文路径。

 

2,让ogitor支持中文

也是在main函数开始处贴如下代码:

setlocale( LC_CTYPE, "");
QTextCodec* codec =QTextCodec::codecForName("GB2312");
QTextCodec::setCodecForCStrings(codec);
QTextCodec::setCodecForTr(codec);
QTextCodec::setCodecForLocale(codec);

贴上如上代码后,编辑中文名的模型确实没有问题,可如果保存文件(.ogscene)后再打开该文件,就会报I/O错误。这是由于ogitor用tinnyxml作为文件解析器,在保存文件的时候没有设置格式,只是简单的添加了xml头:

 outfile << "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"   @see OgitorsSceneSerializer.cpp

所以默认保存的文本编码格式为ANSI. 然而读取的时候确实按照UTF-8来读取的,我们已经设置了qt的编码格式为GB2312(为ANSI的代码页936),所以只需要在ogitor保存的xml头的时候修改为:

outfile << "<?xml version=\"1.0\" encoding=\"GB2312\"?>\n"; // modified by lovestartian 2012.01.08

OK,现在可以完全支持中文的导入和导出了,不过还有个,导出.scene场景脚本文件的时候也是和保存.ogscene一样的问题,修改如下:

pXMLDoc->InsertEndChild(TiXmlDeclaration( "1.0", "GB2312", "")); // modified by lovestartian 2011.01.08
 //pXMLDoc->InsertEndChild(TiXmlDeclaration( "1.0", "UTF-8", "")); // old @see DotSceneSerializerExport.cpp

在自己的程序中解析.scene的脚本的时候,只需要按照“让ogre支持中文”来做亦可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值