'%'中Tomcat中的字符解码异常

时间:2012-11-17 21:45:35

标签: java exception tomcat encoding

我收到此异常

Character decoding failed. Parameter [updatedLocalInfo] with value 

org.apache.tomcat.util.buf.UDecoder$DecodeException: isHexDigit

我将请求发布数据作为JSON字符串传递,其中一个值包含'%' 由于这个'%',我得到了这个例外。

我无法弄清楚为什么会出现此异常及其解决方法。

有关信息,我传递的json是

[{"taxInformation":"Applicable Taxes Extra","happyHourDesc":"40%  off","happyHourTime":"4 to 8 PM","offer":"No Offers"}] 

1 个答案:

答案 0 :(得分:2)

  

我将请求发布数据作为JSON字符串传递

我的猜测是你在没有正确编码的情况下传递JSON字符串。当您通过HTTP GET或POST从客户端向服务器发送信息时,必须正确编码信息。最常见的方法是通过URL编码(即使它是POST数据)。

您还没有说过如何发送数据,但听起来您可能需要在生成从客户端发送到服务器的数据的某个阶段使用encodeURIComponent