要在j2me编程环境中提交utf-8编码方式的url请求,比如如下的URL中searchName是utf-8格式字节流
http://test.mygoogle.at/WebYee/servlet/WebContent?address=44&searchName=%E4%B8%8A%E6%B5%B7%E6%96%B0%E4%B8%96%E7%95%8C%E4%B8%BD%E7%AC%99%E5%A4%A7%E9%85%92%E5%BA%97&tel=55053838&type=44
*)对于非utf-8格式的中文字符串,需要以下两个步骤:
1、获取utf-8编码流
byte[] bytes = null;
try {
bytes = name.getBytes("UTF-8");
} catch (UnsupportedEncodingException ex) {
ex.printStackTrace();
}
2、调用如下方法进行URL格式编码
public static String urlEncode(byte[] b)
{
final String hexChars="0123456789ABCDEF";//hex symbols
StringBuffer sb=new StringBuffer();
for(int i=0;i<b.length;i++)
{
sb.append('%');
sb.append(hexChars.charAt((b[i]&0xf0)>>4));
sb.append(hexChars.charAt(b[i]&0x0f));
}
return sb.toString();
}
String commentQueryUrl = "http://test.mygoogle.at/WebYee/servlet/WebContent?address=44&searchName="
+ urlEncode(bytes)
+ "&tel=55053838&type=44";
*)对于utf-8字符串,则简单一点,调用如下函数进行转换,然后填到相应的URL中:
public static String urlEncode(String str) {
StringBuffer buf = new StringBuffer();
byte[] bytes = null;
try {
ByteArrayOutputStream bos = new ByteArrayOutputStream();
DataOutputStream dos = new DataOutputStream(bos);
dos.writeUTF(str);
bytes = bos.toByteArray();
} catch (IOException e) {
// ignore
}
for (int i = 2; i < bytes.length; i++) {
byte b = bytes[i];
if (Consts.URL_UNRESERVED.indexOf(b) >= 0) {
buf.append((char) b);
} else {
buf.append('%').append(Consts.HEX[(b >> 4) & 0x0f]).append(Consts.HEX[b & 0x0f]);
}
}
return buf.toString();
}
如果不进行转换,也许在模拟器上可以正常获取到kml格式数据返回,但是在手机上却返回html访问错误信息。
如果你使用的kxml解析器,那么会抛出unexpected StartTag <html>这样的异常。
分享到:
相关推荐
j2me----api j2me----api j2me----api j2me----api j2me----api j2me----api j2me----api j2me----api j2me----api j2me----api
J2ME----CSDN名士---陈跃峰老师讲课代码 J2ME----CSDN名士---陈跃峰老师讲课代码
J2ME---游戏共享(8个经典游戏例子)
第一章J2ME简介--j2me开发.ppt
midp-2_0-src-windows-i686.rarmidp-2_0-src-windows-i686.rarmidp-2_0-src-windows-i686.rarmidp-2_0-src-windows-i686.rarmidp-2_0-src-windows-i686.rar
简单的J2ME游戏--小蜜蜂 0{r8W x ] ^ o c3 这个小游戏 是大家用来学习J2ME游戏编程 的入门 教程,写的层次比较清晰还不错。
J2ME入门-(6)CLDCAPI.doc J2ME入门 CLDC API doc
J2ME设计论文--手机游戏黑白棋 应用J2ME技术 让你放心使用
j2me 实现拍照,捕捉视频,Camera
j2me教程-1.体系介绍和环境配置.rar
只要是用户判断影响和敌人,以及英雄和地图之间的关系
第1章 走进J2ME移动开发世界 第2章 面向移动信息设备的 第3章 移动信息设备简表 第4章 搭建移动应用开发环境 第5章 MIDlet编程基础 第6章 MIDP 高级界面编程 第7章 低级用户界面编程
在大学时,典型的j2me编程例子。 股票基金显示系统:在列表中选择封闭基金选项,然后单击提交键,则滚动条显示封闭基金的名称,当前价格;选中开放基金则。。。 压缩件里的两个文档的程序都是正确的。。
手机开发用到的几个.dll文件
[J2ME编程].(Manning).J2ME.-.Java.in.small.things.(2002)
安卓手机上的j2me模拟器 可导入本地jar文件 可模拟Java手机(比如塞班)用的软件 可以体验以前的手机操作
使用j2me 黑白棋 五子棋 开发 欢迎大家下载 ,嘿嘿
这是照书上的代码,自己写的。我是个初学者,希望能给初学者帮助。(7610可用,玩儿着还不错)
J2ME-J2EE-J2SE
对J2ME应该有用,可以看看里面的象素画的原理~ 可以应用的手机游戏中.