头痛的Unicode编码问题

 为了研究MaNGOS工程,开始学习C++了,

一上来就碰到一个问题: 如何将MaNGOS项目中的英文字符串汉化成中文并正确地输出到魔兽世界客户端中正常显示?  (PS: 魔兽世界客户端中处理和显示字符使用的是UTF8编码.)

直接将源代码中定义的字符串常量的值修改成中文字符编译后得到的结果是: 所有包含有中文字符的字符串在客户端中完全没有任何显示.

偿试将工程的源代码以UTF8格式保存并编译,编译过程出现警告和错误信息

错误: XXXX行 常量中有换行符......

警告: XXXXX 行包含有在当前字符集(936简体中文)下无法表示的字符.......

修改了错误部分后,编译通过,在客户端测试却有这样的问题: 同一个头文件中定义的包含有中文字符的字符串常量,

在客户端中有的显示正常,有的却完全没有显示,还有一部分有显示,但是字符串被截短了,本来源代码中定义的是 "暴风城银行" , 客户端中却显示 "暴风城银"  , 最后一个字不见了.

将工程属性中字符集设置为" 使用Unicode字符集" , 并将包含了中文字符的源代码文件以UTF8格式保存,编译时提示满屏幕的错误信息, 需要手工添加多字节字符集到Unicode字符集的转换函数..  ... 这意味着要在源代码中数不清的字符串操作函数前面加转换函数.....上帝啊,杀了我吧!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值