неверный вывод консоли в разных проектах на одной машине - PullRequest
0 голосов
/ 31 августа 2018

Я потратил почти 3 дня, чтобы выяснить, почему в большом проекте результат

System.out.println( "你好" );

отображается как "??" а в другом проекте, построенном с нуля, оно отображается как «你好».

Я использую IntellijIdea, НО то же самое происходит со мной при запуске из jar-файла с использованием

java -jar ...

Единственное различие между этими двумя проектами заключается в системе сборки: первая использует gradle, а вторая - нет (просто простой проект). Второе отличие заключается в выводе следующего кода

     System.out.println("Charset.defaultCharset=" + 
     Charset.defaultCharset());

Первый тип "Charset.defaultCharset = windows-1252", второй "Charset.defaultCharset = UTF-8"

Ну, я читал о:

  1. кодировка в IntellijIdea, все настройки между 2 проектами одинаковы (Настройки → Кодировка файла → Кодировка проекта → Кодировка IDE)

  2. О кодировке настроек файла в правом нижнем углу в Idea

  3. Пробовал -Dfile.encoding = UTF-8, а затем -Dconsole.encoding = UTF-8 в конфигурациях отладки для всех экземпляров gradle
  4. в консоли cmd сделал

    set JAVA_TOOL_OPTIONS=-Dconsole.encoding=UTF8
    
    set JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF8
    
  5. Играется со свойствами gradle в gradle.build

    org.gradle.jvmargs='-Dfile.encoding=UTF-8'
    systemProp.file.encoding=UTF-8
    
  6. изменил кодировку в командной строке через

    chcp  65001
    

Эти усилия сводят меня на нет. Есть идеи?

Кстати, это почти тот же вопрос, но без ответа. Я не могу написать там из-за низкой репутации Intellij Idea неверное кодирование в выводе консоли

изображение с настройками в проекте, которые неправильно отображают вывод

Ответы [ 2 ]

0 голосов
/ 05 сентября 2018

Ну наконец-то я понял!

Перейдите в справку -> отредактируйте пользовательские параметры VM ...

введите описание изображения здесь

Добавьте те:

-Dfile.encoding = UTF-8 -Dconsole.encoding = UTF-8

Перезапустить идею полностью.

0 голосов
/ 31 августа 2018

Похоже, что вы сделали большую часть того, что я думал о 1 ... 5, если проблема все еще не решена, попробуйте перезапустить ide или машину.

Попробуйте и дайте посмотреть ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...