解码问题
在脚本中用get方法传递参数的时候,由于参数值里面含有全角字符或者汉字,在java里面取得的相应参数值是"?",是不是可以通过在脚本中编码,然后在java中解码,怎么做. 问题点数:20、回复次数:7Top
1 楼ynyn(风林火山)回复于 2003-09-01 18:30:23 得分 10
取得参数后,试试用getBytes()转换字符集Top
2 楼ajsword(一直不会编程)回复于 2003-09-01 18:46:10 得分 0
但是如果我得参数里面含有"%"的话就有问题了,所以可能要先进行编码吧,那个函数叫什么的,是不是叫encode,还是什么,
还有如果进行编码了,到java里面再取得后是不是要进行什么处理Top
3 楼ajsword(一直不会编程)回复于 2003-09-01 18:55:29 得分 0
我试过用escape进行转换后,在java里面取值应该如何取Top
4 楼ajsword(一直不会编程)回复于 2003-09-01 19:28:22 得分 0
我得脚本里面的代码为:XXX.location.href='AAA?KK=' + escape("此处是参数值");
在脚本中用escape转换后,java里面的出错消息为:
HANDLER THREAD PROBLEM: java.lang.IllegalArgumentException: illegal number format: %uFF83%uFF82%uFF76%uFF85%uFF71%uFF90%uFF6414%uFF92%uFF82%uFF7C%uFF95X26%20%20%20%20
java.lang.IllegalArgumentException: illegal number format: %uFF83%uFF82%uFF76%uFF85%uFF71%uFF90%uFF6414%uFF92%uFF82%uFF7C%uFF95X26%20%20%20%20
at com.sun.web.server.ServerRequest.unUrlDecode(ServerRequest.java:334)
at com.sun.web.server.ServerRequest.processFormData(ServerRequest.java:281)
at com.sun.web.server.ServerRequest.processRequestLine(ServerRequest.java:259)
at com.sun.web.server.ServerRequest.readNextRequest(ServerRequest.java:58)
at com.sun.web.server.ConnectionHandler.run(ConnectionHandler.java:71)
Top
5 楼znjq1001(追风)回复于 2003-09-01 19:58:02 得分 10
如果传递的参数是汉字,需要编码以下。
java.net.URLEncoder.encode("你的参数"); 编码
java.net.URLDecoder.decode("param"); 解码
Top
6 楼ajsword(一直不会编程)回复于 2003-09-01 20:47:13 得分 0
我增加了import java.net.*;java.net.URLDecoder.decode("param");
为什么还提示说什么必须申明啊,
我是新手,老大们别笑我^_^Top
7 楼ajsword(一直不会编程)回复于 2003-09-02 09:12:34 得分 0
自己再顶一下Top



