首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

URL 含中文 链接不下

2012-11-23 
URL 含中文 链接不上你需要把中文转码,然后在服务器进行解码操作因为请求连接是不支持中文的例子如下:Stri

URL 含中文 链接不上
你需要把中文转码,然后在服务器进行解码操作
因为请求连接是不支持中文的
例子如下:
String string = "蔡君如";
String eStr = URLEncoder.encode(string, "utf-8");
System.out.println(eStr);
System.out.println(URLDecoder.decode(eStr, "utf-8"));

输出:
%E8%94%A1%E5%90%9B%E5%A6%82
蔡君如

上面那个是url用的编码格式,参数带那个  然后服务器解码:
new String(user.getName().getBytes("iso-8859-1"),"utf-8")
解码不用URLDecoder,直接得到参数的bytes,然后根据加码格式解码

下载文件只需把文件写入response的输出流即可:
response.reset();
        response.setContentType("bin");
response.addHeader("Content-Disposition", "attachment; filename=""
+ new String(sss.getBytes("iso-8859-1"), "utf-8") + """);
OutputStream os = response.getOutputStream();
String pathString = request.getRealPath("/")
+ new String(sss.getBytes("iso-8859-1"), "utf-8");
InputStream is = new FileInputStream(new File(pathString));
byte[] buffer = new byte[2048];
int len = 0;
while ((len = is.read(buffer)) > 0) {
os.write(buffer, 0, len);
}
is.close();
os.flush();
os.close();
这样返回的就是个文件了~~

希望对你有帮助!

热点排行