Use a UTF-8 locale for jvm_import jar actions (#1610)
diff --git a/private/rules/jvm_import.bzl b/private/rules/jvm_import.bzl
index 95272a5..3b1598e 100644
--- a/private/rules/jvm_import.bzl
+++ b/private/rules/jvm_import.bzl
@@ -42,6 +42,7 @@
             arguments = [java_args, args],
             inputs = [injar],
             outputs = [outjar],
+            env = {"LC_CTYPE": "C.UTF-8"},
             tools = [add_jar_manifest_entry, java_runtime.files],
             mnemonic = "StampJarManifest",
             progress_message = "Stamping the manifest of %{label}",
@@ -71,6 +72,7 @@
         arguments = [java_args, args],
         inputs = [outjar],
         outputs = [compilejar],
+        env = {"LC_CTYPE": "C.UTF-8"},
         tools = [add_jar_manifest_entry, java_runtime.files],
         mnemonic = "CreateCompileJar",
         progress_message = "Creating compile jar for %{label}",
diff --git a/tests/unit/jvm_import/jvm_import_test.bzl b/tests/unit/jvm_import/jvm_import_test.bzl
index e278aa4..25cfec3 100644
--- a/tests/unit/jvm_import/jvm_import_test.bzl
+++ b/tests/unit/jvm_import/jvm_import_test.bzl
@@ -151,6 +151,7 @@
         argv = matching_actions[0].argv
         asserts.true(env, "remotejdk11_" in argv[0], "Expected %s to use the execution-platform Java runtime, got %s" % (mnemonic, argv[0]))
         asserts.true(env, "-jar" in argv)
+        asserts.equals(env, "C.UTF-8", matching_actions[0].env.get("LC_CTYPE"))
         deploy_jar_args = [arg for arg in argv if arg.endswith("AddJarManifestEntry_deploy.jar")]
         asserts.equals(env, 1, len(deploy_jar_args))