ホームページ  >  記事  >  Java  >  Javaダウンロードで中国語のファイル名が文字化けする問題を解決

Javaダウンロードで中国語のファイル名が文字化けする問題を解決

尚
オリジナル
2019-11-22 16:06:484329ブラウズ

Javaダウンロードで中国語のファイル名が文字化けする問題を解決

Java Web 開発では、ファイルのダウンロード機能でファイル名が文字化けする問題がよく発生します。

この問題に対する解決策はブラウザごとに異なります。

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 基本チュートリアル を参照してください。

以上がJavaダウンロードで中国語のファイル名が文字化けする問題を解決の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。