Maison >Java >JavaBase >Résoudre le problème du nom de fichier chinois tronqué dans le téléchargement Java

Résoudre le problème du nom de fichier chinois tronqué dans le téléchargement Java

尚
original
2019-11-22 16:06:484451parcourir

Résoudre le problème du nom de fichier chinois tronqué dans le téléchargement Java

Dans le développement Web Java, le problème des noms de fichiers tronqués dans les fonctions de téléchargement de fichiers est souvent rencontré.

Différents navigateurs proposent différentes solutions à ce problème.

Pour IE, UTF8 encode le nom de fichier via URLEncoder.

Les autres navigateurs (Firefox, Chrome, Safari, Opera) doivent convertir les octets en ISO8859-1.

Solution au nom de fichier de téléchargement Java tronqué en chinois :

    response.setCharacterEncoding("utf-8");  
    response.setContentType("application/msword");  
    String  fileName="哈哈哈哈.doc";  

    if (request.getHeader("User-Agent").toLowerCase().indexOf("firefox") > 0) {    
      fileName = new String(fileName.getBytes("UTF-8"), "ISO8859-1"); // firefox浏览器    
    } else if (request.getHeader("User-Agent").toUpperCase().indexOf("MSIE") > 0) {    
     fileName = URLEncoder.encode(fileName, "UTF-8");// IE浏览器    
    }else if (request.getHeader("User-Agent").toUpperCase().indexOf("CHROME") > 0) {    
     fileName = new String(fileName.getBytes("UTF-8"), "ISO8859-1");// 谷歌    
  }  
   response.setHeader("Content-Disposition", "attachment; filename=" + fileName);

Pour plus de connaissances sur Java, veuillez prêter attention au tutoriel de base Java.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn