Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Русские буквы в консоли


Автор: gray_k 3.9.2004, 14:06
Когда работаю в среде разработки (Idea), то всё хорошо. Запускаю приложение из командной строки - имеем фигню при выводе строк (System.out.println()). Не подскажите как бороться?

Автор: DarkDS 3.9.2004, 15:15
Может это как нибудь поможет?
http://people.comita.spb.ru/users/sergeya/java/ruschars.html

Автор: gray_k 6.9.2004, 12:02
Статейка помогла. Но возникли кое какие проблемы. Пытаюсь написать сервлет. С ваыводом русских букв всё легко.
Проблемы с получением запроса.
Пишу:
Код

 protected void doGet( HttpServletRequest request, HttpServletResponse response ) throws ServletException,
     IOException
{
  //request.setCharacterEncoding( "Cp1251" );
  // Некоторые используют ISO-8859-1, некоторые кодировку
  // по умолчанию - единообразия тут нет
  String requestEnc = "ISO-8859-1";

  // Кодировка, установленная в броузере
  String clientEnc = request.getParameter("charset");

  if( clientEnc==null ) clientEnc="Cp1251";

  // Получение параметра
  String firstname = request.getParameter("firstname");

  //
  if( firstname!=null )
     firstname = new String(firstname.getBytes(requestEnc),clientEnc);

  response.setCharacterEncoding( "windows-1251" );

   /*далее вывод *,
}

всё нормально, при передаче русских букв работает.
Теперь в другом сервлете делаю тоже самое, только в методе doPost. И принимаю ерунду вместо передаваемых данных.
Код
 protected void doPost( HttpServletRequest request, HttpServletResponse response )
     throws ServletException, IOException
 {

   // по умолчанию - единообразия тут нет
   String requestEnc = "ISO-8859-1";
   // Кодировка, установленная в броузере
   String clientEnc = request.getParameter("charset");

   if( clientEnc == null ) clientEnc="Cp1251";

   String firstname = request.getParameter( "firstname" );
   if( firstname != null )
      firstname = new String(firstname.getBytes(requestEnc),clientEnc);

   String password = request.getParameter( "password" );
   if( password != null )
      password = new String(password.getBytes(requestEnc),clientEnc);
  .......................................
}

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)