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


Список сообщений | Написать новое | Ответить на сообщение | Домой Поиск:
Предыдущее сообщение | Следующее сообщение
From : viktor remennik
To : Eugen Kuleshov
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.

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

> > При этом мой текст начал выводиться нормально, а вот статический - опачки.
>
> а это потому, что ты не понимаешь что творишь.
>

;)

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

Не совсем так. Я читаю сейчас "core servlets and java server pages" от marty hall, и там не нашел этого в списке стандартных обьектов.

> > > 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.