答案:public static String decode(String s)
{
StringBuffer stringbuffer = new StringBuffer();
s = s.replace('%','0');
for(int i=1; i<s.length(); i+=3)
{
if(s.charAt(i)=='+')
{
stringbuffer.append(' ');
i++;
continue;
}
try {
stringbuffer.append((char)Integer.parseInt(s.substring(i, i+2), 16));
} catch (Exception e) {
}
}
String s1 = stringbuffer.toString();
try
{
byte abyte0[] = s1.getBytes("ISO-8859-1");
s1 = new String(abyte0, "UTF-8");
}
catch(UnsupportedEncodingException unsupportedencodingexception) {}
return s1;
}
这个decode是我修改过了的, Servlet里面那个decode好像有问题,解不了奇数个的中文.
我这边在应用程序里面测试通过没有问题了.
但是不同的控制台可能输出结果不一样, 在网页上使用正常.
上一个:WAP中文提交乱码问题解决办法探讨
下一个:初试WAP之wml+ASP查询