获得的用于查询参数“%”值charconversion异常?

获得的用于查询参数“%”值charconversion异常?

问题描述:

我收到加入一些在这些PARAM的查询string.value参数可以是“一个%%”,“%”等物质Java代码侧。而解析查询参数即时得到炭conversionexception 作为异常日志如下所示。获得的用于查询参数“%”值charconversion异常?

13:14:39555 ERROR [STDERR] java.io.CharConversionException:EOF 13:14:39555 ERROR [STDERR]在org.apache.tomcat.util.buf.UDecoder.convert(UDecoder.java:119 ) 13:14:39555 ERROR [STDERR]在org.apache.tomcat.util.buf.UDecoder.convert(UDecoder.java:87) 13:14:39555 ERROR [STDERR]在org.apache.tomcat.util .http.Parameters.processParameters(参数 rs.java:428) 13:14:39,555 ERROR [STDERR] at org.apache.tomcat.util.http.Parameters.processParameters(Paramete rs.java:515) 13 :14:39555 ERROR [STDERR]在org.apache.tomcat.util.http.Parameters.handleQueryParameters(PARA meters.java:298) :14:39,555 ERROR [STDERR] at org.apache.coyote.tomcat4.CoyoteRequest.parseRequestParameters(Co yoteRequest.java:1933)

我该怎么办?

听起来好像发送到您的Java代码的查询字符串格式不正确。百分号在查询字符串中是特殊的:它引入了一个标识字符的两位十六进制数字。例如,%20是一个空格。要正确地把一个百分号在查询字符串,一个使用%25(字符25H是采用Unicode百分号)。如果你正在处理的查询字符串确实,从字面上有它%%,那么它是畸形的,你会希望有侧发送固定。

编辑:在你的评论中,你说你是发送无效查询字符串的人。要正确编码的查询参数,使用encodeURIComponent JavaScript函数:

var encodedValue; 
encodedValue = encodeURIComponent(yourTextfield.value); 
someurl = "http://example.com?x=" + encodedValue; 
+0

其实我是从。我是这个附加文本框的值,通过使用jaavscript.so查询字符串输入文本框(searchinput)获取查询参数的值即使它是“%”,我也需要一些方法来发送此文本框的值。 – 2009-09-14 08:40:25