자바에서는 ZIP entry를 UTF8로 처리한다. 하지만 알집에서는 ZIP entry를 UTF8이 아닌 인코딩을 사용하기 때문에 문제가 생긴다. (무슨 인코딩인지 확인하지 못했다.) 자바에서는 ZIP entry를 읽거나 쓸 때 인코딩을 변경할 수 있는 인터페이스를 제공하지 않는다.
jazzlib이라는 오픈 소스를 사용하면 알집과 호환되는 인코딩으로 처리해준다. 하지만 ZIP entry 목록을 확인하면 UTF8이 아니기 때문에 여전히 문제가 있다.
Apache Ant 안에 있는 ZIP 라이브러리 (ant.jar)를 사용하면 인코딩 변환까지 알아서 해준다. 안타까운 점은 ZipInputStream 클래스가 없어서 압축을 해제할 수가 없다는 것이다. 이 부분만 jazzlib의 클래스로 교체해서 사용하면 된다.
jazzlib이나 Apache Ant 내에 있는 ZIP 라이브러리는 자바의 ZIP 라이브러리와 인터페이스가 거의 동일하기 때문에 어렵지 않게 수정할 수 있다.