URL 编码和解码 Java 中的特殊字符
在Java中,我需要使用HTTP Post向服务器发送请求,但是如果在URL的参数中包含一些特殊字符,它会在异常下方抛出
java.lang.IllegalArgumentException: URLDecoder: 非法的十六进制字符在转义 (%) 模式 - 对于输入字符串: “&'”
用于发送数据的代码
DefaultHttpClient httpclient = new DefaultHttpClient(); 
   HttpPost httpPost = new HttpPost(URL); 
   String sessionId = RequestUtil.getRequest().getSession().getId();
   String data = arg.getData().toString();
   List<NameValuePair> params = new ArrayList<NameValuePair>();   
   params.add(new BasicNameValuePair(param1, data));
   params.add(new BasicNameValuePair(param2, sessionId));
         httpPost.setEntity(new UrlEncodedFormEntity(params, "UTF-8"));           
   HttpResponse response = (HttpResponse) httpclient.execute(httpPost);
在服务器端,我使用以下代码来读取信息
 String data = request.getParameter(param1);
   if (data != null) {
    actionArg = new ChannelArg(URLDecoder.decode(data, "UTF-8"));
   }
代码工作正常,但如果我输入一些特殊字符,如[aああ#$%&'(<>?/.,あああああ],它将引发异常。我想知道是否有人可以帮助我一些提示,以便能够编码和解码特殊字符?
非常感谢你提前。
 
					 
				 
				    		 
				    		 
				    		 
				    		