diff --git a/platform/util/src/com/intellij/util/EnvironmentUtil.java b/platform/util/src/com/intellij/util/EnvironmentUtil.java index 803da0d26c47..884e42ac44bd 100644 --- a/platform/util/src/com/intellij/util/EnvironmentUtil.java +++ b/platform/util/src/com/intellij/util/EnvironmentUtil.java @@ -315,17 +315,22 @@ public class EnvironmentUtil { private static Map setCharsetVar(@NotNull Map env) { if (!isCharsetVarDefined(env)) { - Locale locale = Locale.getDefault(); - Charset charset = CharsetToolkit.getDefaultSystemCharset(); - String language = locale.getLanguage(); - String country = locale.getCountry(); - String value = (language.isEmpty() || country.isEmpty() ? "en_US" : language + '_' + country) + '.' + charset.name(); - env.put(LC_CTYPE, value); + String value = setLocaleEnv(env, CharsetToolkit.getDefaultSystemCharset()); LOG.info("LC_CTYPE=" + value); } return env; } + @NotNull + public static String setLocaleEnv(@NotNull Map env, @NotNull Charset charset) { + Locale locale = Locale.getDefault(); + String language = locale.getLanguage(); + String country = locale.getCountry(); + String value = (language.isEmpty() || country.isEmpty() ? "en_US" : language + '_' + country) + '.' + charset.name(); + env.put(LC_CTYPE, value); + return value; + } + private static boolean isCharsetVarDefined(@NotNull Map env) { return !env.isEmpty() && (env.containsKey(LANG) || env.containsKey(LC_ALL) || env.containsKey(LC_CTYPE)); } diff --git a/plugins/terminal/src/org/jetbrains/plugins/terminal/LocalTerminalDirectRunner.java b/plugins/terminal/src/org/jetbrains/plugins/terminal/LocalTerminalDirectRunner.java index a6c158863da9..a70494a7566f 100644 --- a/plugins/terminal/src/org/jetbrains/plugins/terminal/LocalTerminalDirectRunner.java +++ b/plugins/terminal/src/org/jetbrains/plugins/terminal/LocalTerminalDirectRunner.java @@ -17,7 +17,6 @@ package org.jetbrains.plugins.terminal; import com.google.common.collect.Lists; import com.intellij.execution.TaskExecutor; -import com.intellij.execution.configurations.EncodingEnvironmentUtil; import com.intellij.execution.process.ProcessAdapter; import com.intellij.execution.process.ProcessEvent; import com.intellij.execution.process.ProcessHandler; @@ -124,7 +123,9 @@ public class LocalTerminalDirectRunner extends AbstractTerminalRunner