问题
我是一个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
{
}
}
代码很结构很简单,就不加注示和说明了。希望能对和我一样的初学者有所帮助。也希望老鸟们能多关爱我们这些热爱这项事业的新手!!!!