Symbian 中文支持(模擬器)

在Symbian中定義一箇中文然後用模擬器運行顯示,通常都是亂碼!但是放在手機上可定正常;那我們如何在模擬器上面正確的輸出中文呢?(有一種可以在draw裏面直接繪製出來);

通常解決這個問題的方法有兩種:
(1)靜態資源文件解決方案
(2)動態的調用字符集轉換函數解決方案

這裏只說第一種;第二種直接在代碼裏面轉換格式即可

首先我們先要定義一個**.loc或**.rls內容如下:

CHARACTER_SET UTF8//這裏制定字符集

#ifdef LANGUAGE_SC//英文--這裏可以用LANGUAGE_01
#include "test_SC.rls"//這個文件就是我們定義的真正的資源文件---這裏我們可以定義成**.loc,或是文本文件以後綴以l開頭
#endif

#ifdef LANGUAGE_ZH//中文--這裏可以用31代替
#include "test_ZH.rls"
#endif
.......................................//這裏還可以定義其他語言的

接下來就應該在mmp中定義語言支持了:

我們在LANG 後面添加SC ZH 或相應的01 31,或是其他語言

然後我們要做一件很重要的事:定義資源文件:

test_SC.rls中定義如下:

#define qtn_caption_string "test"//英文的

test_ZH.rls中定義如下:

#define qtn_caption_string "測試"//中文的

其實自定字符集應該在.rss文件前面或後面加這句話CHARACTER_SET UTF8

這樣我們就可以實現模擬器顯示中文了--還支持多語言,我們這裏可以通過切換模擬器語言來查看是否成功執行了這個支持!當然還有其他方式可以測試。

 

 

這是javaEye 裏面的一個很不錯的本地化中文

1.修改項目定義文件.mmp,定義項目支持語言:
   LANG 31
2.修改本地語言支持文件.loc:
將.loc文件用UTF-8編碼另存爲.l31(可用UltraEdit實現),並在其中將需要顯示的文本改稱中文;
修改.loc文件爲:
    #ifdef LANGUAGE_31
    #include "*******.l31"
    #endif
3.修改資源文件.rss:
在.rss文件頭加入 CHARACTER_SET UTF8
4.編譯運行,即可在模擬器上顯示中文了。但要求下載到手機上還不出錯,還需修改.pkg文件:
添加支持語言:&ZH
下面所有出現rsc的地方全改爲r31
好了,這樣就完成了中文顯示的處理。
如果要支持多種語言的話,比如支持中文和英文,則:
1. LANG 01 31
2. 將.loc文件另存爲.l01(英文版字符);
   將.l01用UTF-8編碼另存爲.l31,並在其中將需要顯示的文本改稱中文;
   將.loc文件修改爲:
    #ifdef LANGUAGE_01
    #include "*******.l01"
    #endif
    #ifdef LANGUAGE_31
    #include "*******.l31"
    #endif
3.本步驟不變
4..pkg文件中,
   添加支持語言:&EN,ZH
   下面所有出現rsc的地方全改爲r01,並將該行復制一遍,將r01改爲r31
這樣理論上就能支持多語種了。但我在模擬器上運行看不出多語言的效果。是不是下載到手機上安裝的時候會有提示“選擇安裝語言”呢?還要在手機上試試。
發佈了3 篇原創文章 · 獲贊 3 · 訪問量 13萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章