>  기사  >  Java  >  Java 다운로드 시 중국어 파일 이름이 왜곡되는 문제 해결

Java 다운로드 시 중국어 파일 이름이 왜곡되는 문제 해결

尚
원래의
2019-11-22 16:06:484329검색

Java 다운로드 시 중국어 파일 이름이 왜곡되는 문제 해결

Java 웹 개발 시 파일 다운로드 기능에서 파일 이름이 깨져 나오는 문제가 자주 발생합니다.

브라우저마다 이 문제에 대한 해결책이 다릅니다.

IE의 경우 URLEncoder를 통해 파일 이름을 UTF8로 인코딩합니다.

다른 브라우저(firefox, chrome, safari, Opera)에서는 바이트를 ISO8859-1로 변환해야 합니다.

java 다운로드 파일 이름 중국어 왜곡 솔루션:

    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);

자바에 대한 자세한 지식은 java 기본 튜토리얼을 참고하세요.

위 내용은 Java 다운로드 시 중국어 파일 이름이 왜곡되는 문제 해결의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.