开发学院手机开发Symbian 开发 Symbian 中文字符串显示问题的解决 阅读

Symbian 中文字符串显示问题的解决

 2010-03-12 04:34:00 来源:WEB开发网   
核心提示:相信大家都在处理symbian中文显示的时候遇到了这种问题,我现在就给总结一下这种问题的解决方法:字符串编码中文表示常用的有:GB2312,GBK,Unicode,UTF-8其中GBK是GB2312的超集,Symbian 中文字符串显示问题的解决,也就是涵盖了GB2312编码的所有内容,UTF-8是Unicode的在网

相信大家都在处理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 // for char set convert GBK - Unicode

在mmp里面添加

LIBRARY charconv.lib // for GBK to Unicode converter

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

void CMcAppUi::ConvGbk2Uni(TDesC8& original, TDes& res) {

#ifndef __WINS__

RFs aFileServerSession;

aFileServerSession.Connect();

CCnvCharacterSetConverter* converter=CCnvCharacterSetConverter::NewLC();

1 2 3  下一页

Tags:Symbian 字符串

编辑录入:coldstar [复制链接] [打 印]
[]
  • 好
  • 好的评价 如果觉得好,就请您
      0%(0)
  • 差
  • 差的评价 如果觉得差,就请您
      0%(0)
赞助商链接