Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
1 / 1 / 1
Регистрация: 05.09.2015
Сообщений: 19

Энкодинг латинских символов для консоли разных операционных систем

19.09.2015, 15:51. Показов 766. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет, всем известная проблема енкодинга. Но как её грамотно решить для разных терминалов разных ОС ?
Например для вывода латинских символов, начало своей консольной программы я начинаю так
Java
1
2
3
4
5
6
7
8
String consoleEncoding = System.getProperty("consoleEncoding");
if (consoleEncoding != null) {
    try {
        System.setOut(new PrintStream(System.out, true, consoleEncoding));
    } catch (java.io.UnsupportedEncodingException ex) {
        System.err.println("Unsupported encoding set for console: "+consoleEncoding);
    }
}
но что делать с вводом ? если в консоли существует Scanner, который так же может принять русские символы?

Возможно ли аналогичным способом задавать кодировку и для сканера ? Спасибо

Добавлено через 1 час 43 минуты
upd прошу прощения интересует енкодинг русских символов
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.09.2015, 15:51
Ответы с готовыми решениями:

Есть ли стандартные значения для препроцессора для разных операционных систем?
Допустим,необходимо сделать код на C более переносимым на другие операционные системы. Существуют ли какие-то стандартные define-ы ,которые...

Нестабильная работа двух операционных систем WIN 7 X32 и x64 на разных винчестерах
Доброго дня ! Проблема следующая: Есть комп с 2-мя жёсткими дисками SSD и HDD -На SSD поставил WIN 7 32 - всё работает отлично...

Одно оформление для всех операционных систем
Как сделать, чтобы оформление интерфейса было одинаковым во всех операционных системах?

4
Эксперт Java
 Аватар для turbanoff
4094 / 3828 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 12
19.09.2015, 16:17
Как-то так
Java
1
Scanner scanner = new Scanner(System.in, "UTF-8");
0
1 / 1 / 1
Регистрация: 05.09.2015
Сообщений: 19
20.09.2015, 10:37  [ТС]
Цитата Сообщение от turbanoff Посмотреть сообщение
Как-то так
Код Java(TM) 2 Platform Standard Edition 5.0Выделить код
1
Scanner scanner = new Scanner(System.in, "UTF-8");
так пробовал, но успеха не возымело никакого для винды надо cp866, но указал такую кодировку насильно, при вызове сканера, на мак ОС уже не воспринимается русский ввод. Нужно что-то универсальное, что будет подстраиваться под конкретную ось и воздействовать на весь ввод

Добавлено через 17 часов 9 минут
неужели нет сильных программистов, что помогут с проблемой(
0
Эксперт Java
 Аватар для turbanoff
4094 / 3828 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 12
20.09.2015, 15:07
Цитата Сообщение от TheOriginalNick Посмотреть сообщение
так пробовал, но успеха не возымело никакого для винды надо cp866
Ну так замените UTF-8 на ту кодировку, которая в консоли. Вы же для ввода сделали. Какие проблемы то?
0
1 / 1 / 1
Регистрация: 05.09.2015
Сообщений: 19
21.09.2015, 09:38  [ТС]
Цитата Сообщение от turbanoff Посмотреть сообщение
Ну так замените UTF-8 на ту кодировку, которая в консоли. Вы же для ввода сделали. Какие проблемы то?
кодировку для консоли вин cp866 я выставлял и такое решение работает только на ОС Windows. Моя проблема, он же вопрос, как реализовать в коде правильную кодировку для каждой ОС (будь то линукс или мак ос). Потому как явно указанная кодировка работает для той консоли под которую она указанна.
Пробовал через
Java
1
2
3
Locale loc = new Locale("ru");
Scanner sc = new Scanner(System.in, "UTF-8");
sc.useLocale(loc);
к сожалению добился только изменение вывода на ????
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.09.2015, 09:38
Помогаю со студенческими работами здесь

Выбор темы для курсовой по администрированию операционных систем
В универе сказали, что предстоит курсовая по администрированию ОС. Но темы курсовых нам почему-то так и не дали, сказав: "подходите со...

Эта версия не предназначена для серверных операционных систем
привет всем. я поставил windows 7 x64 и хочу поставить антивирус NOD-32(х64) но он пишет что: Эта версия не предназначена для серверных...

Как обеспечить переносимость приложения для операционных систем Windows 7
Заранее прошу извинить за мою безграмотность. Я создал приложение и теперь хочу, чтобы оно запускалось на других компьютерах. На них...

Вывод названий операционных систем для компьютеров, имена которых находятся в списке в текстовом файле
Добрый вечер. Помогите разобраться (PowerShell стал изучать не давно). По заданию в файле Spisok.txt находится список имен...

Какого минимального объёма диск требуется для установки на него трёх операционных систем Windows?
Доброе утро всем.Решил я поставить отдельный диск под операционные системы.Но надо знать,сколько и какая операционка кушает места.Там...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru