url参数编码问题 url中文乱码


var url="KaiyaotjAction.do?c_yp_name="+ypname;
当ypname为 “5%葡萄糖注射液”的时候就会报如下错误:

Parameters: Character decoding failed. Parameter skipped.
java.io.CharConversionException: isHexDigit


原因我想是由于内部进行过URL编码 但%在里面是有特殊含义 所以应该在传递之前先进行一次统一编码
var url="KaiyaotjAction.do?c_yp_name="+encodeURIComponent(ypname);


参数编码成:
5%25%E8%91%A1%E8%90%84%E7%B3%96%E6%B3%A8%E5%B0%84%E6%B6%B2

后台:
new String(request.getParameter("c_yp_name").getBytes("ISO-8859-1"),"UTF-8"));


你可能感兴趣的:(java,C++,c,C#)