WEB开发网
开发学院手机开发Symbian 开发 Symbian 对中文资源的解决方案 阅读

Symbian 对中文资源的解决方案

 2010-02-03 08:01:00 来源:WEB开发网   
核心提示:字符串编码中文表示常用的有:GB2312,GBK,Unicode,UTF-8其中GBK是GB2312的超集,也就是涵盖了GB2312编码的所有内容,Symbian 对中文资源的解决方案,UTF-8是Unicode的在网络传输中的一种编码格式,如果我们使用vc做为开发工具,选择UTF-8字符编码的;最后用编辑器打开,确定

字符串编码中文表示常用的有: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   即可:

具体步骤如下:
首先确定你是模拟器是中文,如果不是的话在开始菜单里面有设置Language的,换成中文就可以了;
然后你在用carbide或者是vs新建工程的时候选择中文,语言代号为31;
要在程序中显示中文,参考下面的代码:
TBuf <32> nameText;

CEikonEnv::Static()->ReadResource(nameText, R_NAME_TEXT);

gc.UseFont(iCoeEnv->NormalFont());

TPoint namePoint(aRect.Width()/5*3, aRect.Height()/4);

gc.DrawText(nameText,namePoint);

.rss中
#include "project.loc"
RESOURCE TBUF32 R_NAME_TEXT { buf=qtn_wp_name_text; }

.loc中
CHARACTER_SET UTF8
#define qtn_wp_name_text "中文"

很简单的一个处理就可以。
切忌在打开资源定义文件的时候改变编码,那样你会后患无穷的。

如果你一开始在建工程的时候就不是选择的中文的话,那么按下面的方法解决:
打开你的mmp文件,在里面最后加上一行LANG 31,如果以前有LANG SC就注释掉;
然后在你的资源定义文件开头加上CHARACTER_SET UTF8;
然后用文本文件方式打开,另存为,选择UTF-8字符编码的;
最后用编辑器打开,确定里面开头的部分没有乱码,要是开头的时候有就删除。

1 2 3 4  下一页

Tags:Symbian 资源

编辑录入:coldstar [复制链接] [打 印]
赞助商链接