LINUX.ORG.RU

Кодировка в градле

 , ,


0

1

Дело происходит на венде, но т.к. градл и жава это открытый софт, то сюда.

Кодировка в build.gradle указана:

tasks.withType(JavaCompile) {
    options.with {
        encoding = 'UTF-8'
        ...
    }
}
При этом варнинги в консоли валятся нечитаемые
??????????: ????????? ????? ????? ?????????? ??? ?????????????? ?????????? API.
??????????: ????????? ????????? ?????????? ? ?????????? -Xlint:deprecation ??? ????????? ?????????????? ??????????.
??????????: ????????? ????? ????? ?????????? ????????????? ??? ???????????? ????????.
??????????: ????????? ????????? ?????????? ? ?????????? -Xlint:unchecked ??? ????????? ?????????????? ??????????.
Я даже готов понять что вендовая консоль не умеет в UTF, но хотя бы как заставить жаву слать все в православном инглише?

★★★★★
Ответ на: комментарий от das_tier

Нет у меня гитбаша. У меня есть эклипс, там вот такая симпота

ЏаЁ¬Ґз ­ЁҐ: ЌҐЄ®в®алҐ д ©«л ўў®¤  ЁбЇ®«м§гов Ё«Ё ЇҐаҐ®ЇаҐ¤Ґ«пов гбв аҐўиЁ© API.
ЏаЁ¬Ґз ­ЁҐ: ‚лЇ®«­ЁвҐ Ї®ўв®а­го Є®¬ЇЁ«пжЁо б Ї а ¬Ґв஬ -Xlint:deprecation ¤«п Ї®«г祭Ёп ¤®Ї®«­ЁвҐ«м­®© Ё­д®а¬ жЁЁ.
ЏаЁ¬Ґз ­ЁҐ: ЌҐЄ®в®алҐ д ©«л ўў®¤  ЁбЇ®«м§гов ­ҐЇа®ўҐапҐ¬лҐ Ё«Ё ­ҐЎҐ§®Ї б­лҐ ®ЇҐа жЁЁ.
ЏаЁ¬Ґз ­ЁҐ: ‚лЇ®«­ЁвҐ Ї®ўв®а­го Є®¬ЇЁ«пжЁо б Ї а ¬Ґв஬ -Xlint:unchecked ¤«п Ї®«г祭Ёп ¤®Ї®«­ЁвҐ«м­®© Ё­д®а¬ жЁЁ.

morse ★★★★★
() автор топика
Ответ на: комментарий от morse

Ништяк (:
Это перекодированный CP866 текст, но не с CP866 а с CP1251.
Т.е. CP866 текст перекодировали типа iconv -f cp1251 -t utf8 message-cp866.txt
А в первом случае, скорее всего, CP866 текст перекодированный в CP1251

anonymous
()
Ответ на: комментарий от anonymous

Тьфу, последнее предложение неверно ):

anonymous
()

Вендовая консоль по дефолту показывает в CP-866. Если хочешь видеть русские буквы, их надо выводить именно в такой кодировке. Или предварительно сменить кодировку консоли командой chcp (но тогда, возможно, также придется изменить шрифты). Чтобы изменить локаль в жаве, ей надо передать параметр -Duser.language=en как это в градле прописать, я хз, посмотри его запускающие скрипты, скорей всего можно через какую-нибудь переменную окружения.

Legioner ★★★★★
()
Последнее исправление: Legioner (всего исправлений: 1)
tasks.withType(JavaCompile) {
    options.with {
        encoding = 'UTF-8'
        ...
    }
}

Это ты указал кодировку исходников. После запуска Java будет использовать системную локаль, если ты не переопределяешь это поведение.

Проще всего сделать через JVM args, как уже сказали выше. Можно это сделать в коде через Locale.setDefault()

hippi90 ★★★★★
()

Так это же на винфак. Да и что ты делаешь в вендовом терминале? Тебе что, заняться нечем? Поставь cygwin туда хоть или какой-нибудь bash.

crutch_master ★★★★★
()
Последнее исправление: crutch_master (всего исправлений: 1)
Ответ на: комментарий от crutch_master

Тебе что, заняться нечем? Поставь cygwin туда хоть или какой-нибудь bash.

Мне очень даже есть чем заняться, именно поэтому мне не особо есть когда ставить всякие сигвины и баши.

morse ★★★★★
() автор топика
Ответ на: комментарий от crutch_master

Понятия не имею, я ж не знаю сколько бы у меня заняло времени пердоленье со всей этой хренью. А так я потратил 10 мин на создание топика пока компиляция шла.

morse ★★★★★
() автор топика
Ответ на: комментарий от morse

Напрасно. Все эти гитбаши и мингв и цигвины ставятся на раз два и предоставляют отличную консоль с поддержкой UTF-8.

I-Love-Microsoft ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.