struts2下载文件,中文名称显示有问题,中文名称不显示。 谢谢!!!
发布网友
发布时间:2024-03-13 15:27
我来回答
共3个回答
热心网友
时间:2024-05-16 14:02
java中
//先将jsp通过get或者post获取到的字段转为本页面使用的字符集。
String fileName1 = ServletActionContext.getRequest().getParameter("fileName");
fileName1 = new String(fileName1.getBytes("ISO8859-1"), "utf-8");
//再将字段内容转为struts2配置文件设置的ISO8859-1的字符集。
downFileName = new String(downFileName.getBytes(), "ISO8859-1");
这样就行,一定要弄明白字符集的设置是对那个流的设置!!
热心网友
时间:2024-05-16 14:02
response.setHeader("Content-disposition","attachment;filename="+new String(filename.getBytes("gb2312"),"iso8859-1"));
将文件名转码追问
我这样写文件名就正确了,这是什么原理啊??
追答应该没必要两次转化的吧,字符转码的问题
热心网友
时间:2024-05-16 14:03
将中文进行utf8转码。
public static String toUtf8String(String s) {
StringBuffer sb = new StringBuffer();
for (int i=0;i<s.length();i++) {
char c = s.charAt(i);
if (c >= 0 && c <= 255) {
sb.append(c);
} else {
byte[] b;
try {
b = Character.toString(c).getBytes("utf-8");
} catch (Exception ex) {
System.out.println(ex);
b = new byte[0];
}
for (int j = 0; j < b.length; j++) {
int k = b[j];
if (k < 0) k += 256;
sb.append("%" + Integer.toHexString(k).
toUpperCase());
}
}
}
return sb.toString();
}
struts2下载文件,中文名称显示有问题,中文名称不显示。 谢谢!!!
java中 //先将jsp通过get或者post获取到的字段转为本页面使用的字符集。String fileName1 = ServletActionContext.getRequest().getParameter("fileName");fileName1 = new String(fileName1.getBytes("ISO8859-1"), "utf-8");//再将字段内容转为struts2配置文件设置的ISO8859-1的字符集。downF...
struts2下载中文不显示
下载时指定编码就应该可以了,发个示例参照一下。public static boolean download(String fileName, String filePath, HttpServletResponse response) { boolean r = false;try { File file = new File(filePath);String filelength = String.valueOf(file.length());response.setContentType("application...
用struts2上传带中文名的歌曲时出现乱码(配置了常量,数据库里和歌手名字...
我猜想应该先去确定,在数据库中是不是乱码,然后在action中是不是乱码,才能确定是哪一步出了问题。当然,我不清楚你用的是什么数据库,也不能提供具体的建议了,但是我相信注意一下肯定能看到编码设置的。如果你用的myeclipse之类的工具,记得在preferences里面把workspace、content types全部统一编码。以...
Struts2 文件下载程序中,当文件名包含中文时下载出错,全为英文或数字时...
downloadChineseFileName = new String(downloadChineseFileName.getBytes(),"ISO8859-1");改成 downloadChineseFileName = new String(downloadChineseFileName.getBytes(ISO8859-1),"GBK");试试
用struts2 做了一个文件下载,下载的文件为什么会丢失后缀名,其他浏览器...
打开文件夹选项,然后在如图的地方加入有个勾就去掉
我做了个struts2的文件下载功能,有问题,请大神帮忙解决
和 filename="struts.gif" 这两个当然也可以在action中设置,写在getDownFile里面。(用response response.setHeader("content-Type", "image/gif");//这里一下载图片为例,如果是不限制文件类型,image/gif改为application/octet-stream response.setHeader("Content-Disposition", "attachment; filename...
struts2文件下载迅雷中怎样显示正常文件名
设置contentDisposition
快要疯了,Struts2中文乱码
将所有的编码都改成UTF-8,统一编码,另外,修改tomcat中server.xml文件,在 <Connector port="8080" ...后添加上URIEncoding="UTF-8"。
Struts2下载问题,高手请进
public String getFileName() { try { fileName = new String(fileName.getBytes("GBK"),"gb2312");} catch (UnsupportedEncodingException e) { e.printStackTrace();} return fileName;}改为 public String getFileName() { try { fileName=new String(fileName.getBytes(),"ISO-8859-1")...
struts2做下载时,迅雷下载文件名显示**.action能解决么?
用struts2写的上传和下载使用windows的下载方式没有问题~~但是如果使用迅雷来下载问题就出现了 迅雷中的下载地址显示的是***.action虽然 下载的东西 是正确的 但是迅雷里显示的却不是正确的文件名这个问题能解决么? struts.xml 中配置信息如下:<!-- 下载 --> <action name="download" class="down...