Каракули в консоли / jline библиотека / Spigot

tox1cozZ

aka Agravaine
8,455
598
2,892
Столкнулся с такой проблемой при написании мода, что консоль обрабатывает русский текст некорректно и выводит каракули. Именно сам терминал(консоль). Начал искать причину.

Поставил чистый Forge, отображение в консоли корректное.
Поставил стороннее ядро, связывающее spigot/forge и получил каракули(вывел текст модом).
Поставил чистый Spigot, получил каракули(вывел текст плагином).

Начал искать источник проблемы и выяснил, что Forge использует jline библиотеку, которая отвечает за терминал и она у него версии 3.5.1 для 1.12.2 на данный момент.

Spigot же тоже использует эту библиотеку, но v2

Прошу обратить внимание на то, что либа сильно изменилась в новых версиях(3.5) в отличии от старых (2.1), то бишь просто подменить либу не получится, кидает ClassNotFoundException.

Какие кто может подсказать решения? Говорят некоторые, что у них spigot той же версии выводит русские символы и тут уже сомнения по поводу различных версий jline. Может быть дело в java? У кого какие мысли?

Кодировка у обоих батников -Dfile.encoding=UTF-8
Пробовалось: 866, 1251, 65001
65001 - дает русский текст, но с багами. Например, дублирует строки/буквы в русском тексте.

P.S. Чистый фордж спокойно работает с русским текстом на UTF-8, а чистый spigot на 866. Если брать ядро связку по типу cauldron, перестает "читаться" правильно UTF-8(у плагинов+модов), но частично работает 866(только у плагинов и без поддержки окраса)
 

timaxa007

Модератор
5,831
409
672
Ты запускал spigot с кодировкой UTF-8? Или с такой-же кодировкой как у твоего мода?
 
1,369
112
241
Смени кодировку с UTF-8 (без /с БОМ) на OEM-866, OEM-855, Windows-1215. Мне помогла OEM-866, тебе может помочь другая.
 
Сверху