利用resteasy框架构建rest webservice----第五波:java代码调用乱码解决方案

工作原因加家里事情多,很久木有更新了,也木有按照预定计划的那样持续介绍resteasy相关的东西,就介绍下项目出现的问题

今天主要介绍下当URI中出现中文时,服务端获取出得Pathparam为乱码的问题:

String urlResouce = null;
		try {
			urlResouce = "http://10.28.0.203:8080/cloud-storeage-boss/cai:dafile/"+URLEncoder.encode("中文eclipse.zip","utf-8");
		} catch (UnsupportedEncodingException e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
		} // create URL
		File localFile = new File("Z:\\tools\\eclipse-jee-helios-SR2-win32.zip");
		try{
			
		HttpURLConnection urlConnection =
		(HttpURLConnection) (new URL(urlResouce)).openConnection();
		urlConnection.setRequestProperty("Charset", "UTF-8");
		urlConnection.setRequestProperty("auth", "maomaocaicai");
		urlConnection.setDoInput(true);
		urlConnection.setDoOutput(true);
		urlConnection.setRequestMethod("PUT");
		OutputStream urlOutputStream = urlConnection.getOutputStream();
		FileInputStream fileInputStream = new FileInputStream(localFile);
		IOUtils.copy(fileInputStream, urlOutputStream);
		fileInputStream.close();
		urlOutputStream.close();
		System.out.println(urlConnection.getResponseCode());
		}
		catch(Exception e)
		{
			e.printStackTrace();
		}

乱码参数的解决方法很简单,就是将相应URI进行UTF-8的编码

这个原理比较简单因为中文时两个字节,而在网络进行传输的时候由于某种原因(具体原因就是编码的问题,请google)会进行单字节的编码,解析出来的中文就变乱码了。----浏览器在传输的时候都会对中文进行编码传输


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值