Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Russian symbols, funny 
:(
    Опции темы
kasya
  Дата 15.4.2005, 00:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 13.4.2005

Репутация: нет
Всего: нет




Доброго дня,
Вопрос наверное часто тут: как вывести в консоли текст русскими?
Дайте пожалуйста рабочий код.

Спасибо.
PM MAIL   Вверх
Domestic Cat
Дата 15.4.2005, 01:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

Репутация: 50
Всего: 172





--------------------

PM   Вверх
Guest
Дата 15.4.2005, 10:28 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Я ничего не нашел, мне надо просто в System.out.println() выводить кирилицу.
Можно код?
Спасибо.
  Вверх
jer1
Дата 15.4.2005, 10:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 123
Регистрация: 24.1.2005
Где: Харьков Украина

Репутация: 4
Всего: 5



по линкам прошёл очень интересно smile

Код

public class Dummy{
    public static void main(String[] args){
            String s = "вот так";
            dosPrintln(s);        
            System.out.println("a ran`she - " + s);
    }

        private static void dosPrintln(String str){
            try{ 
                System.out.println(new String(str.getBytes(CODING)));
            }catch(Exception e){e.printStackTrace();} 
        }

        private static final String CODING = "Cp866";
}

--------------------
:w!q
PM MAIL   Вверх
Гость_serge
Дата 15.4.2005, 12:09 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Приведенный пример требует модификации исходного кода которая работает только под Windows. Вместо этого можно скачать cygwin или mingw и запускаться из-под их консоли или запускать программу из какой-нибудь интегрировнной среды разработки (например JBuilder)
  Вверх
batigoal
Дата 15.4.2005, 12:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 24
Всего: 151



Цитата
Приведенный пример требует модификации исходного кода которая работает только под Windows.

Почему? Вроде ведь здесь все методы платформенно-независимы. Или Cp866 - это какая-то виндовская кодировка?


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
Domestic Cat
Дата 15.4.2005, 18:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

Репутация: 50
Всего: 172



Цитата(Lamer @ 15.4.2005, 03:53)
Cp866 - это какая-то виндовская кодировка?


http://www.fingertipsoft.com/ref/cyrillic/cp866.html


--------------------

PM   Вверх
batigoal
Дата 15.4.2005, 22:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 24
Всего: 151



Ага, MS-DOS'овая.


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
Гость_serge
Дата 19.4.2005, 11:37 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Cp866 - досовская кодировка; jview - "java" от Microsoft ее не знает
В linux нужна KOI8_R (а может быть Cp1251, Cp866 - может кто-то настроил неснадарную кодировку). Из Locale можно определить только оконную кодировку, а не консольную

  Вверх
LSD
Дата 19.4.2005, 19:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 210
Всего: 538



По идее в виндах в кодовую страницу можно перенастроить mode con cp select=1251, но это почему то не помогает.
Код
public class Dummy{    
    public static void main(String[] args){    
            String s = "вот так";    
            dosPrintln(s);         
            System.out.println("a ran`she - " + s);    
    }    
        private static void dosPrintln(String str){    
            try{    
                System.out.println(new String(str.getBytes(CODING)));    
            }catch(Exception e){e.printStackTrace();}    
        }    
        private static final String CODING = "Cp866";    
}

Данный код не корректен, т.к. полученная строка не будет русским текстом в кодировке юникод, достаточно слегка модифицировать код:
Код
import javax.swing.JOptionPane;

public class Dummy
{
  private static final String CODING = "Cp866";

  public static void main(String[] args)
  {
    String s = "вот так";
    dosPrintln(s);
    System.out.println("a ran`she - " + s);
    System.exit(0);
  }

  private static void dosPrintln(String str)
  {
    try
    {
      String incorrectString = new String(str.getBytes(CODING));
      System.out.println(incorrectString);
      JOptionPane.showMessageDialog(null, incorrectString);
    }
    catch(Exception e)
    {
      e.printStackTrace();
    }
  }
}

Корректно будет сделать так:
Код
public class Dummy
{
  private static final String CODING = "Cp866";

  public static void main(String[] args)
  {
    String s = "вот так";
    dosPrintln(s);
    System.out.println("a ran`she - " + s);
  }

  private static void dosPrintln(String str)
  {
    try
    {
      System.out.write(str.getBytes(CODING));
      System.out.println();
    }
    catch(Exception e)
    {
      e.printStackTrace();
    }
  }
}



--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0537 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.