Java 圧縮コード文字化け
通常 Java を使用してファイルをパッケージ化し、圧縮ファイルを生成すると、中国語文字化けの問題が発生します。コンテンツが表示されますが、インターネット上の多くの人々がこの問題の解決策を示しています。主な方法は 2 つあります:
1 つは sun のソース コードを変更することです;
もう 1 つは、オープン ソース クラス ライブラリ org.apache .tools.zip.ZipOutputStream および org.apache.tools.zip.ZipEntry は ant.jar に含まれており、ダウンロードして直接使用できます。
後者を選択した方が便利であることは間違いありません。org.apache.tools.zip.ZipOutputStream はデフォルトでプロジェクトのエンコード方式を使用します。理論的には、utf-8 も中国語をサポートします。まだ文字化けしています。 この解決策は、setEncoding メソッドを gbk に変更することで解決できます。
サンプル コードは次のとおりです。
import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.DataInputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import org.apache.tools.zip.ZipEntry; import org.apache.tools.zip.ZipOutputStream; public class CompressEncodingTest { /** * @param args * @throws Exception */ public static void main(String[] args) throws Exception { File f = new File("中文测试.txt"); ZipOutputStream zos = new ZipOutputStream(new BufferedOutputStream( new FileOutputStream("zipTest.zip"), 1024)); zos.putNextEntry(new ZipEntry("中文.txt")); DataInputStream dis = new DataInputStream(new BufferedInputStream( new FileInputStream(f))); zos.putNextEntry(new ZipEntry(f.getName())); int c; while ((c = dis.read()) != -1) { zos.write(c); } zos.setEncoding("gbk"); zos.setComment("中文测试"); zos.closeEntry(); zos.close(); } }
php 中国語の Web サイト、無料の Java 入門チュートリアル が多数あり、オンラインで学習することを歓迎します。
以上がJava圧縮でコードが文字化けするの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。