RU/2: Форум. Общение пользователей и разработчиков OS/2 (eCS). : resin


Список сообщений | Написать новое | Ответить на сообщение | Домой Поиск:
Предыдущее сообщение | Следующее сообщение
From : Eugen Kuleshov
To : viktor remennik
Subj : resin

> > > Итак.
> > > > 1. Обязательно:
> > > > <%@ page contentType="text/html;charset=koi8-r" %>
> > > Страница готовая и не моя. Она уже в 1251, менять облом (их много) но везде выставлено метами. Так что думаю, что это излишне?
> >
> > Мета - это для браузера. Ты там с ней можешь как угодно иметь активный сэкс, а то что приведено выше - указание компилятору в какой кодировке исходник страницы лежит. Надо тебе в 1251 - пиши соответственно windows-1251
> Тут ты полностью ошибаешься. Директива пейдж контент-тайп просто указывает заголовок контент-тайп, вместо стандартного для жееспе текст/хтмл. Так что это почти то же самое. что и мета.

Слушай, у кого из нас оно не работает? Ты мне будешь рассказывать что оно означает? Так я это и без тебя знаю. Причем знаю наверняка, потому как исходники смотрел. :)

> > > > 2. Запускать JVM (srun) нужно с указанием кодировки
> > > > set lang=ru_RU.KOI8_R
> > > Да. Только я совсем не понимаю уже что происходит. Это указание чего? Текущей кодовой страницы для ввода и вывода? ТО бишь правильно ли я понимаю, что при конструировании строк жаба будет азьюмить, что надо сделать кои-уникод, а при выводе - уникод-кои?
> > > Плюс еще. В моей проблеме это не помогло :( Помогла явная установка :
> > > Locale outLocale("ru", "RU", "windows-1251");
> > > response.setLocale(outLocale);
> >
> > нахрен такое счастье. То что указано мной выше - установка дефолтной локали для JVM.
> Это не помогает. Тебе надо выставить не дефолтную локаль (кстати, что это такое?), а локаль для файла, иначе жаба будет в этот файл записывать уникод. Попробуй напиши простое приложение с любым принтРайтером.

Я уже достаточно напробовался на своем веку, чтобы иметь представление как оно все работает. Начиная с файла на диске, чтения его JSP энжином, генерации исходника сервлета, компиляции этого сервлета, запуска его на выполнение и выдачи результирующего документа. А вот теперь ты сам пройдись по этой цепочке и посмотри где могут быть проблемы с локалью. После этого будем разговаривать про юникод.

> > > > 3. response.getWriter().println это конечно здорово, но writer есть готовый уже, называется out
> > >
> > > А мне сказали, что он непереносимый. То бишь только в резине. А есть планы перенести _это_ на санский джава веб сервер.
> > счазззз. Сходи почитай спецификацию Java Server pages. И плюнь в глаз тому кто тебе это сказал.
> Не совсем так. Я читаю сейчас "core servlets and java server pages" от marty hall, и там не нашел этого в списке стандартных обьектов.

Ну продолжай читать сказки для детей младшего школьного возраста... Но я бы всетаки рекомендовал обращаться к спецификациям. Кстати на java.sun.com раздают масенький pdf'чик с краткой справкой чего в JSP есть, а чего нет...

> > > > 4. Вообще я бы рекомендовал out не использовать, а писать так:
> > > > <%= "Ты зимой на коньках ехала домой" %>
> > >
> > > Неудобно _офигенно_ Конструкции со сложными ифами получаются совершенно нечитабельными :
> > > <% if(a)
> > > { %>
> > > <%= some %>
> > > <% } %>
> > > Это уже изврат, а если сложнее?
> >
> > <% if(a) { %>
> > <%= some %>
> > <% } %>
> >
> > смотрится вполне нормально. Я вообще разницы не наюлюдаю в том что вокруг, а сама печать намного короче записывается.
>
> ?
> Не замечаешь? Ну ладно, а если так :
>
> <% if(a) { %>
> <%= some %>
> <% if(b) {%}
> <%= yet another %>
> <% } %>
> <% } %>
>
>
> А если элсы и посложнее структура?
>
> >
> > > > Будут проблемы - информируй.
> > > Так вот не могу побороть. Получается у меня либо весь документ крякозябрами, либо мои ауты. С утра сижу, уже чувствую, что офигеваю. Пойду вот чаю выпью, вдруг поможет :)
> >
> > Разберись с исходной кодировкой. С кодировкой в какой у тебя работает JVM и с кодировкой которую хочет браузер. Сделай страницу без всяких метов и прочей ерунды с кусочком русского текста и сделай так чтобы она у тебя правиильно показывалась. Извращаться будешь потом.
>
> Так вот не могу. При чем тут вообще мета? Сказал на свою голову. Ты на контекст посмотри, в котором я про мету говорил. Мне непонятно почему часть документа в одной кодировке, а часть - в другой получается. И непонятно что такое "кодировка, в которой работает джевеем" Меня на курсах у сана учили, что внутри у него уникод. Так что же задает переменная lang?
> А бровзеру надо отдать тоже 1251.
>

Mon 03 Dec 2001 18:39 Mozilla/4.61 [en] (OS/2; U)




Programmed by Dmitri Maximovich, Dmitry I. Platonoff, Eugen Kuleshov.
25.09.99 (c) 1999, RU/2. All rights reserved.
Rewritten by Dmitry Ban. All rights ignored.