Solution to the garbled file name when java downloads a file:
String userAgent = request.getHeader("User-Agent"); String formFileName = file.getFileName(); // 针对IE或者以IE为内核的浏览器: if (userAgent.contains("MSIE") || userAgent.contains("Trident")) { formFileName = java.net.URLEncoder.encode(formFileName, "UTF-8"); } else { // 非IE浏览器的处理: formFileName = new String(formFileName.getBytes("UTF-8"), "ISO-8859-1"); } response.setHeader("Content-disposition",String.format("attachment; filename=\"%s\"", formFileName)); response.setContentType("multipart/form-data"); response.setCharacterEncoding("UTF-8");
new String(byte[], decode) actually uses the encoding specified by decode to convert the byte [] is parsed into a string.
For more java knowledge, please pay attention to the java basic tutorial column.
The above is the detailed content of Java download file name garbled problem. For more information, please follow other related articles on the PHP Chinese website!