jsp在wap中的应用,关于unicode,大家看看
Iong 2002-03-27 11:55:15 public class UnicodeString
{
String my;
public UnicodeString(String me) {
my = new String(me);
}
public static String getUnicodeOf(String str) {
if (str == null)
return null;
StringBuffer tr = new StringBuffer();
for (int i = 0; i < str.length(); i++) {
int tmp = str.charAt(i);
if (tmp < 0x100) {
tr.append(str.charAt(i));
} else {
tr.append("&#x");
tr.append(Integer.toHexString(str.charAt(i)));
tr.append(";");
}
}
return new String(tr);
}
public String getUnicodeOfMe() {
if (my == null)
return null;
StringBuffer tr = new StringBuffer();
for (int i = 0; i < my.length(); i++) {
int tmp = my.charAt(i);
if (tmp < 0x100) {
tr.append(my.charAt(i));
} else {
tr.append("&#x");
tr.append(Integer.toHexString(my.charAt(i)));
tr.append(";");
}
}
return new String(tr);
}
public static void main(String args[]) {
if (args.length < 1) {
System.out.println("usage: java UnicodeString [args...]");
System.exit(0);
}
String t = UnicodeString.getUnicodeOf(args[0]);
System.out.print(t);
}
}
以上是我写的unicode转码方法
用java UnicodeString [中english文]命令输出: [中english文]
问题是:
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-WAPFORUM//DTA WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<%@page contentType="text/vnd.wap.wml"%>
<%@page import="UnicodeString"%>
<wml>
<card id="he" title="<%=UnicodeString.getUnicodeOf("欢迎")%>" newcontext="true">
<p>
<%=UnicodeString.getUnicodeOf("欢迎您的到来!")%>//1。我希望他能转化为下面的样子
<%="欢迎您的到来!"%>//2。这是我用命令行方式拷出来的
</p>
</card>
</wml>
这样的一个jsp在模拟器中输出的 1。是乱码,2。却是正确的