异常:
Exception in thread "main" java.lang.IllegalArgumentException: URLDecoder: Illegal hex characters in escape (%) pattern - For input string: "u9"
at java.net.URLDecoder.decode(URLDecoder.java:194)
at com.hbzx.controller.PayResultController.main(PayResultController.java:253)
原因:
Java调用 URLDecoder.decode(str, "UTF-8"); 抛出以上的异常,其主要原因是% 在URL中是特殊字符,需要特殊转义一下,
解决办法:使用%25替换字符串中的%号
解决:
url = url.replaceAll("%(?![0-9a-fA-F]{2})", "%25");String urlStr = URLDecoder.decode(url, "UTF-8");
转载地址:https://blog.csdn.net/afgasdg/article/details/40304817