编译器报错是正常的,如果没有报错说明你使用了2nd Edition FP1以上的S60的中文版SDK。注意SDK的定语有三个(2nd Edition FP1以上&S60&中文),所以需要解决的问题仍然不少,编译器报错的原因在于其它版本的SDK只能编译ANSI格式的RSS文件,在这里一个比较高效的解决之道就是把RSS的代码和UTF8中文字串分开处理。
再来看一下chinese.lan文件中诸如"鏉$爜涓婄綉"的UTF8字符是如何获取的,打开UltraEdit,切换至十六进制显示模式,注意在用NOTEPAD保存UTF8文件的时候,WINDOWS在UTF8文件前面自动加了3个bit的UTF8标识——[FF FE FB]。那么FF FE FB后面的字符串就是“移动频道”的UTF8编码了。Ctrl+C&V至chinese.lan即可。
这样介绍是为了大家看着清晰直观,在实际开发中网上可以找到很多
GBK<—
>UTF8互转的工具。转换之后直接
Ctrl+V即可顺利编译。前面介绍的写入中文另存
UTF8方式个人认为不很可取,为了确保不同版本
SDK之间的兼容性,建议直接使用后一种方式。在这一点上
S60和
UIQ没有任何区别。
NOKIA forum提供的
Chinese_Display sample 的代码片断
以下是根据
S60提供的
WriteToFile的
sample改写而来的一段代码。注意
Symbian在写入文件时是不需要
Convert的,不管使用的是
TBuf8或
TBuf16。读取的时候也一样
Language definitions选项中的
&ZH代表简体中文,如果希望为程序提供国际化支持,只要编译出多个不同的语言包,并在
PKG文件中写入即可。
SIS file header中的
UTF8与
RSS文件中一样处理即可
. 来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10294527/viewspace-126049/,如需转载,请注明出处,否则将追究法律责任。