symbian中文显示的两大解决方案:静态和动态

字符串编码中文表示常用的有:GB2312,GBK,Unicode,UTF-8
其中GBK是GB2312的超集,也就是涵盖了GB2312编码的所有内容,
UTF-8是Unicode的在网络传输中的一种编码格式,
如果我们使用vc做为开发工具,在win下面进行开发,那么win
的默认字符集是 GBK的,而symbian系统默认的编码方式却是
Unicode,也就是说直接写在程序里面的汉字在手机上显示的时候,
就会变成乱码。


通常解决这个问题的方法有两种:
(1)静态资源文件解决方案
(2)动态的调用字符集转换函数解决方案

 

对呀第一种解决方案来说,需要手工编辑rss文件,把汉字内容部分改为UTF-8格式,
在rss文件的末尾或者开头添加:CHARACTER_SET UTF8   即可
缺点是这种字符串一般针对静态资源,如果是那种随时根据数据变化更新汉字的情况
则需要考虑第二种情况

 

第二种情况动态转换字符集的方法
添加头文件
#include <charconv.h>        //  for char set convert GBK - Unicode
在mmp里面添加
LIBRARY         charconv.lib    // for GBK to Unicode converter

这两步完成后,重新编译;下面的这两个函数就可以用了。


具体的使用方法:


即可,现在title16和msg16里面都存放的是16位的unicode中文字符串了,
可以直接显示了。

 

 

 

 

思考:如果是页面既有英文显示又有中文显示呢?而且不能在rss文件中直接定义,即可能需要外部输入再显示。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值