我是一个J2ME的新手,刚刚开始学习,在尝试进行J2ME与HTTP站点进行通信时中文乱码。在BBS上看了一些大侠们观点,最简单高效的方式就是与JSP进行通信WRITEUTF、READUTF。但是由于我想链接的目的站点是C#的,想用最小的改动就可以进行使用。 解决办法!将C#项目中Web.config中的编码设定为utf-8(默认就是utf-8)。 下面是J2ME的源码: import javax.microedition.midlet.*; import javax.microedition.lcdui.*; import javax.microedition.io.*; import java.io.*; import java.lang.String;; public class HttpTest extends MIDlet {
private Display display; public HttpTest() { display = Display.getDisplay(this); }
protected void startApp() throws MIDletStateChangeException { try { String url = "http://192.168.0.25/lt133/webform1.aspx?phone=13800000000&msg1=c2"; HttpConnection hc = (HttpConnection)Connector.open(url); DataInputStream dis = new DataInputStream(hc.openInputStream());
byte[] myData = new byte[100]; String content=""; dis.read(myData,0,myData.length); content = new String(myData,"UTF-8"); Form f = new Form("HTTP Test"); f.append(content); display.setCurrent(f); } catch(Exception e) { System.out.println(e.toString()) ; notifyDestroyed(); } }
protected void pauseApp() { }
protected void destroyApp(boolean arg0) throws MIDletStateChangeException { } } 代码很结构很简单,就不加注示和说明了。希望能对和我一样的初学者有所帮助。也希望老鸟们能多关爱我们这些热爱这项事业的新手!!!! 
|