2012年12月14日金曜日

MacOSX 10.7 + JDK7 日本語ファイル名文字化け対応

MacOSX 10.7 + JDK7の環境で、JavaをつかってZIPファイルを作成するライブラリをつくっていると、日本語ファイル名が文字化けした。

以下の様に、文字コードをMS932、もしくは、Windows31Jにし、正規化したところ文字化けしなくなった。







oOutputStream = Files.newOutputStream(oPathOfZipFile); 


oBufferedOutputStream = new BufferedOutputStream(oOutputStream); 

ZipOutputStream oZipOutputStream = 
 new ZipOutputStream(oBufferedOutputStream , Charset.forName("Windows-31J")); 

oZipOutputStreamForClose = oZipOutputStream;  

-- 略 ---

 fileName = Normalizer.normalize(fileName , Normalizer.Form.NFC);


0 件のコメント: