diff --git a/src/main/java/net/lingala/zip4j/headers/FileHeaderFactory.java b/src/main/java/net/lingala/zip4j/headers/FileHeaderFactory.java index 7da21f1b..4d9c1dde 100644 --- a/src/main/java/net/lingala/zip4j/headers/FileHeaderFactory.java +++ b/src/main/java/net/lingala/zip4j/headers/FileHeaderFactory.java @@ -46,7 +46,7 @@ public FileHeader generateFileHeader(ZipParameters zipParameters, boolean isSpli String fileName = validateAndGetFileName(zipParameters.getFileNameInZip()); fileHeader.setFileName(fileName); - fileHeader.setFileNameLength(determineFileNameLength(fileName)); + fileHeader.setFileNameLength(determineFileNameLength(fileName, charset)); fileHeader.setDiskNumberStart(isSplitZip ? currentDiskNumberStart : 0); if (zipParameters.getLastModifiedFileTime() > 0) { @@ -161,7 +161,7 @@ private AESExtraDataRecord generateAESExtraDataRecord(ZipParameters parameters) return aesExtraDataRecord; } - private int determineFileNameLength(String fileName) { - return fileName.getBytes(InternalZipConstants.CHARSET_UTF_8).length; + private int determineFileNameLength(String fileName, Charset charset) { + return fileName.getBytes(charset).length; } }