我得到了在查询string.value中添加一些参数,这些参数可以是"a%%","%“etc.on java代码端.while解析查询参数我得到字符转换异常,如下面的异常日志中所示。
13:14:39,555错误标准java.io.CharConversionException: EOF 13:14:39,555错误标准在org.apache.tomcat.util.buf.UDecoder.convert(UDecoder.java:87) 13:14:39,555错误标准在org.apache.tomcat.util.http.Parameters.processParameters(Paramete java.io.CharConversionException) 13:14:39,555错误标准在org.apache.tomcat.util.http.Parameters.processParameters(Paramete meters.java:298) 13:14:39,555错误标准在org.apache.coyote.tomcat4.CoyoteRequest.parseRequestParameters(Co rs.java:515) :14:39,555错误标准在org.apache.coyote.tomcat4.CoyoteRequest.parseRequestParameters(Co meters.java:298)
我该怎么办?
发布于 2009-09-14 08:15:41
听起来发送到Java代码的查询字符串的格式不正确。百分号在查询字符串中是特殊的:它引入了一个标识字符的两位十六进制数字。例如,%20是一个空格。要在查询字符串中正确使用百分号,可以使用%25 (字符25h在Unicode中是百分号)。如果您正在处理的查询字符串真的,字面上包含%%,那么它的格式是错误的,您会希望发送它的一方得到修复。
编辑:在你的评论中,你说你是那个发送无效查询字符串的人。要对查询参数进行正确编码,请使用encodeURIComponent JavaScript函数:
var encodedValue;
encodedValue = encodeURIComponent(yourTextfield.value);
someurl = "http://example.com?x=" + encodedValue;https://stackoverflow.com/questions/1420243
复制相似问题