OGRE1.7.4显示中文字符串细节问题
来源:互联网 发布:mysql 设置默认值 编辑:程序博客网 时间:2024/06/03 21:17
首先要参照这篇
http://hghhe.blog.163.com/blog/static/3237756820097192512944/
在你看完上面这篇文章的基础上,我想强调一些细节。
我要说的是,我们用C++的std::string 类型定义中文字符串时,是不能直接在OGRE里显示出来的,需要将其转成UTF8格式,如下:
std::string转utf8字符串(算法来自网络)std::string string_To_UTF8(const std::string & str)
{
int nwLen = ::MultiByteToWideChar(CP_ACP, 0, str.c_str(), -1, NULL, 0);
wchar_t * pwBuf = new wchar_t[nwLen + 1];//一定要加1,不然会出现尾巴
ZeroMemory(pwBuf, nwLen * 2 + 2);
::MultiByteToWideChar(CP_ACP, 0, str.c_str(), str.length(), pwBuf, nwLen);
int nLen = ::WideCharToMultiByte(CP_UTF8, 0, pwBuf, -1, NULL, NULL, NULL, NULL);
char * pBuf = new char[nLen + 1];
ZeroMemory(pBuf, nLen + 1);
::WideCharToMultiByte(CP_UTF8, 0, pwBuf, nwLen, pBuf, nLen, NULL, NULL);
std::string retStr(pBuf);
delete []pwBuf;
delete []pBuf;
pwBuf = NULL;
pBuf = NULL;
return retStr;
}
接下来,我们要定义DisplayString chaText =string_To_UTF8("使用Overlay显示汉字!!“); (这里一定是OGRE的DisplayString类型才行)
textElement->setCaption( chaText ); 这样就可以了。
- OGRE1.7.4显示中文字符串细节问题
- OGRE1.7.4显示中文字符串细节问题
- symbian中文字符串显示问题的解决
- symbian中文字符串显示问题的解决
- 关于IDA显示中文字符串的问题
- 字符串细节失误问题
- GTK+显示中文字符串
- symbian中文字符串显示问题的解决(转载)
- 解决android 显示中文字符串乱码的问题
- zencart 细节图显示 问题
- CEGUI显示中文的一些细节
- ogre1.7中文路径bug处理
- Ogre1.7 中文路径bug处理
- jsp中文显示问题
- jsp 中文显示问题
- openwave 中文显示问题
- Struts 显示中文问题.
- javamail 中文显示问题
- 第十一周项目一函数版星号图(3)(4)
- ios之TableViewCell重用机制避免重复显示方案
- ubuntu14 安装xdebug
- 免费开源软件kpym telnet/ssh server的使用
- jQuery+zTree加载树形结构菜单
- OGRE1.7.4显示中文字符串细节问题
- 菜鸟一号报道,问一个很邪恶的问题!
- 算法重拾之路——大数乘法
- sparkSQL1.1入门之十:总结
- Apache Shiro Caching学习笔记
- LaTeX各种表格
- hdu 4686
- C/C++之回调函数
- 不行不行,不能再讨厌英语了,要爱上英语。。。I Love You。。。