关于在浏览器中输入含有中文的下载的文件的问题引发的问题
2015-11-12 23:11
225 查看
像这样输入一个图片的名字,下载文件如果,想要正常的下载,我们需要进行转码
public String getResName() throws UnsupportedEncodingException {
return new String(resName.getBytes(),"iso-8859-1");
}
public void setResName(String resName) throws UnsupportedEncodingException {
this.resName = new String(resName.getBytes("iso-8859-1"),"gbk");
}
但是,我们发现,只要我们把gbk 换成utf-8,程序就会报错,面用utf-8就不会报错
这是为什么了?
接下来,我进行了一下实验,就是
<a href="${pageContext.request.contextPath}/down?res=232小.pptx&resName=struts大.pptx">下载struts</a>
就是通过一个链连,进行传值,发现,只要jsp页面的编码方式同转码的方式一样就可以了,要么都是gbk,要么都是utf-8.
所以这里,我们可以猜测浏览器中直接输入传值的内容用的,可能是gbk,所以转码的时候必须用gbk
public String getResName() throws UnsupportedEncodingException {
return new String(resName.getBytes(),"iso-8859-1");
}
public void setResName(String resName) throws UnsupportedEncodingException {
this.resName = new String(resName.getBytes("iso-8859-1"),"gbk");
}
但是,我们发现,只要我们把gbk 换成utf-8,程序就会报错,面用utf-8就不会报错
这是为什么了?
接下来,我进行了一下实验,就是
<a href="${pageContext.request.contextPath}/down?res=232小.pptx&resName=struts大.pptx">下载struts</a>
就是通过一个链连,进行传值,发现,只要jsp页面的编码方式同转码的方式一样就可以了,要么都是gbk,要么都是utf-8.
所以这里,我们可以猜测浏览器中直接输入传值的内容用的,可能是gbk,所以转码的时候必须用gbk
相关文章推荐
- Android dex分包方案
- SS、SP、BP寄存器
- 初次体验架设PHP网站
- vim-插入格式化时间
- redis常用数据类型
- iOS - UIAlertController相关用法
- javascript 高级程序设计(一) 正则表达 RegExp实例属性
- 基于fl2440 开发板rt3070芯片工作在station模式
- 指针的下标运算
- (转)windows下配置nginx+php环境
- 【转】Java HashMap 源码解析(好文章)
- 两个div叠加(两张图片叠加)
- (转)如何检查系统是否支持Zend Optimizer
- 跟着猫哥学Golang[9] - slice
- #ifdef _cplusplus(转)
- VisualSVN server 搭建SVN服务器
- hibernate的一对一主键双向映射关系和外键双向映射关系(一)
- 计算机主线
- Redis未授权访问漏洞分析
- linux系统搭建keepalived+LVS负载均衡无法访问VIP的问题