在Symbian程序用户界面上的中文,如果是直接通过程序输出的部分,例如给字符串赋值为中文,则可直接显示。但是更多的时候用户界面是通过资源文件中定义,Symbian资源文件存储在一个以rss为扩展名的文件中,界面上元素的文本,例如菜单项文本,按钮文本等都是在这个文件中定义。但是这个文件并不支持中文的显示,你如果直接把文本改成中文,那么编译后程序执行就会是乱码。虽然不支持中文,但是可以用UNICODE来显示中文的信息,我们只需要在rss文件头加入 CHARACTER_SET UTF8 一行,然后把所有的中文文本UNICODE替换即可。也就是说必须使得我们的资源文件支持Unicode,然后用相应中文的Unicode赋值给相应的字符串。
但是怎么得到一个中文对应的UNICODE文本串呢?最简单的方法就是使用我们的文本编辑工具,比如EmEditor,使用的方法是先在Ansi编码方式下写下我们需要的中文,然后将其另存为Unicode的文本,再次打开时就会发现里面的文本变成了Unicode,把这个字符串拷到我们的.rss文件中即可。
如果是程序中需要处理中文字符串,比如Sms的内容等等,这时只要记住Symbian OS中对Unicode的支持比较好,所以我们只需要将需要处理的文本统一使用Unicode进行编码即可。当然这时就需要对英文字符进行相应处理了,因为英文字符只是简单的由1byte变为2byte,高字节使用00代替,这个和中文的编码方式有所不同。
欢迎大家和我讨论有关具体内容,可以留言,也可以E_mail给我:)