2016-02-05 2 views
8

Кажется, это действительно сумасшедший, но я ничего не могу сделать со сломанной кодировкой в ​​консоли моей идеи intellij.Intellij Idea неправильное кодирование в консольном выпуске

Вещи, которые я сделал, чтобы преодолеть это:

  1. Set -Dfile.encoding = UTF-8 и -Dfile.encoding = UTF-8 в обоих idea.exe.vmoptions и idea64.exe.vmoptions (I используйте 64-битную версию, хотя).
  2. Добавлено -Dfile.encoding = UTF-8 и -Dfile.encoding = UTF-8 для запуска/отладки конфигурации моего приложения.
  3. Измененные настройки> Редактор> Кодировки файлов Кодирование IDE/Кодирование проекта/Кодирование по умолчанию для файлов свойств в UTF-8.

Имея все это, до сих пор нет удачи, и символы не отображаются правильно в консоли. Я попытался отладить метод java.io.PrintStream # println (java.lang.String) и обнаружил, что System.out.textOut.out.se.cs равно окнам-1251. Не знаю, откуда такое значение.

Этот вопрос беспокоил меня в течение длительного периода времени, и я не смог найти что-либо в Интернете, которое могло бы мне помочь.

Заранее благодарим за помощь.

+0

Просьба указать код: http://stackoverflow.com/help/mcve –

+0

'System.out.println (" \ u0394 ");' prints [Греческая символьная дельта] (http://unicode-table.com/en/0394 /), Δ. Что это печатает для вас? –

+0

@JakeHendy Извините за отложенный ответ. Результат 'System.out.println (" \ u0394 ");' is '?'. –

ответ

4

попробовать

-Dconsole.encoding=UTF-8 

вместо

-Dfile.encoding=UTF-8 
+0

Спасибо! Это сделал трюк для меня. – Chris

+0

Он работает в опции tomcat vm. Спасибо! – traeper

2

Моя теория состоит в том, что ваш файл класса Java используют "окна-1251" кодирования, и вам необходимо установить его "UTF-8".

смотрит на скриншоты ниже. enter image description here enter image description here

Чтобы восстановить все файлы кодирования, вы можете вручную редактировать encodings.xml. enter image description here Вы можете изменить кодировку файла по умолчанию в диалоговом окне настроек. enter image description here

+0

Спасибо за ваш вклад, но моя проблема была немного иной. –

0

В моем случае экзаменационной System.out.textOut.out.se.cs в отладить намекнул, что IDEA picked up maven surefire arguments для каждого JUnit конфигурации Run:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-surefire-plugin</artifactId> 
    <configuration> 
     <!-- force 7-bit default encoding to ensure that nothing depends on it --> 
     <argLine>-Dfile.encoding=ASCII</argLine> 
    </configuration> 
</plugin> 

Я решена путем добавления -Didea.maven.surefire.disable.argLine=true в idea64.exe.vmoptions файл.

См. Также https://www.jetbrains.com/help/idea/configuring-output-encoding.html.

Смежные вопросы