Sun 認證相關  
標題:j2me、aspx之間的中文傳輸亂碼問題
作者:  a062676842    積分:15

IP:218.165.*.*

發表於:2006/11/21 07:07:42
學校的專題小組中,我是負責j2me部分,其他人負責asp.net的部分(asp.net網頁中的部分功能,使用者可以轉移到手機上去使用)
為了統一,我的j2me部分server和資料庫是跟其他人用一樣的(aspx+access)
server端是XP pro sp2+IIS+ASP.NET2.0

j2me→aspx方向的資料傳輸是用 www.localhost/cell.aspx?ID=oo&PW=xx 這樣的方式傳送指令
aspx→j2me方向,也就是server回傳資料是用response.Write()的方式回傳純文字字串

這樣在模擬器J2ME Wireless Toolkit 2.2上是運作正常的,中英文都正常的顯示(包括server回傳的中英文字串)
放到手機上執行,內嵌在j2me程式裡的中文正常,但server傳回來的中文就會是亂碼,試過修改server上的Web.config,將responseEncoding="big5" 改成utf-8,也試過在j2me端進行big5、utf8的轉碼,但都失敗了

j2me我也只摸了3.4個月,還是個非常嫩的初學者,這樣的亂碼問題,爬文嘗試各種不同方法,已經弄了幾個星期了

j2me端進行連線、接收資料的部分如下,因為不熟j2me,也不太清楚該在哪部分設定資料進來的編碼(這段程式碼是從書裡面附的範例修改而來)
很多在j2se上可行的方案在j2me上都被精簡掉了..(像是ByteArrayOutputStream在j2se上有查到可以在toString()時設定編碼,j2me就沒有此功能..)

private String connect(String url) throws IOException{
    ContentConnection cc = (ContentConnection)Connector.open(url);
    InputStream is = cc.openInputStream();
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    String res = null;
    
    try{
      int ch = 0;
      while ((ch = is.read()) != -1 && stop == false){
       baos.write(ch);
      }
      res = baos.toString();
    }finally{
      if (is != null) is.close();
      if (baos != null) baos.close();
      if (cc != null) cc.close();
    }
    return (res == null ? null :res );
  }

手機試過sony nokia共4隻,問題都一樣

後來嘗試用記事本寫了幾個內含中英文純文字的txt,分別存成UTF-8、ANSI,掛在server下的IIS中讓j2me去抓
模擬器是ANSI正常,UTF-8亂碼,放到手機上則是都是亂碼(長得不一樣的亂碼..)

想請問要如何才能讓j2me、aspx之間的中文傳輸,在手機上能正確顯示?
現在才改用j2se或jsp重寫server已經來不及了(jsp更是從來沒摸過),而且也不肯定不會有中文傳輸後變亂碼的問題
我們組員5人都沒有支援java的手機,一直都是用模擬器去測試程式(一來以為模擬器能跑就不會有什麼相容上的問題,二來可以省很多手機連線費..)
到了最後關頭快要demo了才去借了幾隻手機來實測,一測就整個囧掉了...

經驗不足,以為買幾本書來翻就可以搞定j2me,這是我該死
不過還是懇請有經驗的各位幫幫垂死的小弟我...

謝謝!!!




作者:  airport     積分:5 IP:203.68.*.*
發表於:2006/11/23 12:25:34

我手邊的是 N71
讀取 content="text/html; charset=utf-8" 網頁資料時
於 new String( byte[], int, int, String )
所使用的 Encoding 字串為 "UTF-8"
而不是"utf8"


PS. 大小寫應該沒影響
最主要是那個 "-"


以上供您參考




作者:  hjkl8765     積分:0 IP:222.129.*.*
發表於:2006/11/23 10:05:52
好文章怎沒人頂一把!



BACK

目前線上: 會員 2 訪客 150




MSN: test104tw@hotmail.com
  • 即日起購買微軟中繁版題庫會員, 一律加贈英版題庫加強練習. (2012/3/31)
  • Microsoft 70-236 題庫 222 題更新完成. (2012/2/8)
  • IBM 000-715 題庫 122 題更新完成. (2012/2/8)
  • Microsoft 70-502 題庫 115 題更新完成. (2012/2/7)
  • CISCO 642-611 題庫 101 題更新完成. (2012/2/7)
  • IBM 000-R01 題庫 326 題更新完成. (2012/2/6)
  • Check Point 156-215.65 題庫 127 題更新完成. (2012/2/6)
  • Microsoft 70-519 題庫 85 題更新完成. (2012/2/3)
  • IBM 000-210 題庫 107 題更新完成. (2012/2/3)
  • Microsoft 70-515 題庫 124 題更新完成. (2012/2/2)
  • SUN 310-230 題庫 175 題更新完成. (2012/2/2)
  • IBM 000-206 題庫 107 題更新完成. (2012/2/1)

姓 名:
E-mail:
聯絡電話:
驗證碼:
意見與問題:


::本站來訪人數::
000831923