diff --git a/hadoop-tools/hadoop-archive-logs/src/main/java/org/apache/hadoop/tools/HadoopArchiveLogs.java b/hadoop-tools/hadoop-archive-logs/src/main/java/org/apache/hadoop/tools/HadoopArchiveLogs.java
index 9b28ca406d693..1c13f5ad8f20d 100644
--- a/hadoop-tools/hadoop-archive-logs/src/main/java/org/apache/hadoop/tools/HadoopArchiveLogs.java
+++ b/hadoop-tools/hadoop-archive-logs/src/main/java/org/apache/hadoop/tools/HadoopArchiveLogs.java
@@ -509,6 +509,7 @@ void generateScript(File localScript) throws IOException {
       fw = FileWriterWithEncoding.builder()
               .setFile(localScript)
               .setCharset(StandardCharsets.UTF_8)
+              .setCharsetEncoder(StandardCharsets.UTF_8.newEncoder())
               .get();
       fw.write("#!/bin/bash\nset -e\nset -x\n");
       int containerCount = 1;