Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Windows Новый топик    Ответить
 Иероглифы в консоли  [new]
TopCore
Member

Откуда: Mariupol, Ukraine
Сообщений: 871
Здравствуйте! При любом раскладе выводится ахинея. Как побороть?
Спасибо.

К сообщению приложен файл. Размер - 43Kb
3 ноя 14, 11:31    [16792050]     Ответить | Цитировать Сообщить модератору
 Re: Иероглифы в консоли  [new]
DarkMaster
Member

Откуда: Donetsk,Ukraine
Сообщений: 6408
TopCore,

Выводится откуда? Судя по всему - достаточно перед вызовом скрипта установить правильную кодовую страницу.
Страница ставится через CHCP. Кодовая страница - UTF8. Код страницы 65001.
3 ноя 14, 11:37    [16792067]     Ответить | Цитировать Сообщить модератору
 Re: Иероглифы в консоли  [new]
TopCore
Member

Откуда: Mariupol, Ukraine
Сообщений: 871
Выводиться то, что должно и добавляется какая-то ахинея. Её быть не должно. Но факт. Не знаю, как побороть эту муть.

К сообщению приложен файл. Размер - 41Kb
3 ноя 14, 13:33    [16792341]     Ответить | Цитировать Сообщить модератору
 Re: Иероглифы в консоли  [new]
DarkMaster
Member

Откуда: Donetsk,Ukraine
Сообщений: 6408
TopCore
Выводиться то, что должно и добавляется какая-то ахинея. Её быть не должно. Но факт. Не знаю, как побороть эту муть.


Для начала показать, что у тебя в скрипте Test находится. Ну и профильный форум по Java ессно.
3 ноя 14, 13:49    [16792407]     Ответить | Цитировать Сообщить модератору
 Re: Иероглифы в консоли  [new]
TopCore
Member

Откуда: Mariupol, Ukraine
Сообщений: 871
DarkMaster,
public class Test {
    public static void main(String[] args) {
        System.out.print("Проверка русского языка!..");
    }
}
3 ноя 14, 14:08    [16792466]     Ответить | Цитировать Сообщить модератору
 Re: Иероглифы в консоли  [new]
DarkMaster
Member

Откуда: Donetsk,Ukraine
Сообщений: 6408
TopCore,

Попробуй System.out.println(), хотя я ни разу не специалист по Яве.
3 ноя 14, 15:47    [16792732]     Ответить | Цитировать Сообщить модератору
 Re: Иероглифы в консоли  [new]
TopCore
Member

Откуда: Mariupol, Ukraine
Сообщений: 871
DarkMaster, да Я как бы тоже учусь только. Но я понял в чём дело, а точнее, я понял откуда ноги растут, но в чём прикол, не до конца понял. Всё дело в Sublime Text: по умолчанию документ сохраняет, видимо, с одной кодировкой. Но попробовал создать файл и сохранить его с кодировкой 1251 и всё работает хорошо.
Спасибо, DarkMaster.
3 ноя 14, 15:51    [16792740]     Ответить | Цитировать Сообщить модератору
 Re: Иероглифы в консоли  [new]
MasterZiv
Member

Откуда: Питер
Сообщений: 34630
TopCore
DarkMaster, да Я как бы тоже учусь только. Но я понял в чём дело, а точнее, я понял откуда ноги растут, но в чём прикол, не до конца понял. Всё дело в Sublime Text: по умолчанию документ сохраняет, видимо, с одной кодировкой. Но попробовал создать файл и сохранить его с кодировкой 1251 и всё работает хорошо.
Спасибо, DarkMaster.


Нет, в Java всё гораздо сложнее...
3 ноя 14, 16:51    [16792894]     Ответить | Цитировать Сообщить модератору
 Re: Иероглифы в консоли  [new]
TopCore
Member

Откуда: Mariupol, Ukraine
Сообщений: 871
MasterZiv, насколько?
3 ноя 14, 16:52    [16792900]     Ответить | Цитировать Сообщить модератору
 Re: Иероглифы в консоли  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 10759
Кодировка, указываемая при компиляции должна соответствовать кодировке исходных файлов.
После этого всё будет работать нормально, если свойство file.encoding соответствует кодировке консоли.
Исключение: в винде, консольный вывод java-программ некорректно работает с utf8, что видно на скриншоте - выводится мусор для строки, которая корректно выводилась в OEM-кодировке.

К сообщению приложен файл. Размер - 2Kb
3 ноя 14, 17:22    [16793005]     Ответить | Цитировать Сообщить модератору
 Re: Иероглифы в консоли  [new]
TopCore
Member

Откуда: Mariupol, Ukraine
Сообщений: 871
Basil A. Sidorov, значит windows-консоль не хочет корректно выводить utf-8. Я правильно понял?
3 ноя 14, 17:25    [16793020]     Ответить | Цитировать Сообщить модератору
 Re: Иероглифы в консоли  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 10759
Хотя, если перенаправить (utf8) вывод в файл - результат будет корректным - 23 байта в условиях (моего) примера.
3 ноя 14, 17:27    [16793031]     Ответить | Цитировать Сообщить модератору
 Re: Иероглифы в консоли  [new]
TopCore
Member

Откуда: Mariupol, Ukraine
Сообщений: 871
Basil A. Sidorov, понял, для консоли буду в 1251 сохранять.
Спасибо.
3 ноя 14, 17:28    [16793034]     Ответить | Цитировать Сообщить модератору
 Re: Иероглифы в консоли  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 10759
Неважна кодировка исходного файла. У меня это utf8, что видно по строке параметров javac.
Далее функции стандартного вывода преобразуют java-строки в локальную кодировку в соответствии со свойством file.encoding.
Если значение свойства совпадает с кодировкой консоли, то символы национального алфавита будут отображены корректно.
Почему (виндовая) консоль глючит в utf8 - вопрос совершенно отдельный.
3 ноя 14, 17:33    [16793051]     Ответить | Цитировать Сообщить модератору
 Re: Иероглифы в консоли  [new]
nscl
Guest
Не надо писать отладочный вывод на чем-либо, отличном от английского, тем более, в такое мрачное древнее непотребство, ка виндовую консоль.
3 ноя 14, 23:45    [16794609]     Ответить | Цитировать Сообщить модератору
 Re: Иероглифы в консоли  [new]
TopCore
Member

Откуда: Mariupol, Ukraine
Сообщений: 871
nscl, согласен. Я работать в таком режиме и не собираюсь. Это лишь для прохождения учебника по Java. Заодно ковыряюсь в дебрях.
4 ноя 14, 10:06    [16795282]     Ответить | Цитировать Сообщить модератору
Все форумы / Windows Ответить