RU/2: Форум. Общение пользователей и разработчиков OS/2 (eCS). : Ответить на сообщение
Имя:
e-mail:
FIDO:
Home page:
сохранить данные о вас
Тема:
> > > > Итак. > > > > > 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, и там не нашел этого в списке стандартных обьектов. > > Ну продолжай читать сказки для детей младшего школьного возраста... Но я бы всетаки рекомендовал обращаться к спецификациям. Кстати на http://java.sun.com раздают масенький pdf'чик с краткой справкой чего в JSP есть, а чего нет... > > > > > > 4. Вообще я бы рекомендовал out не использовать, а писать так: > > > > > <%= "Ты зимой на коньках ехала домой" %> > > > > > > > > Неудобно _офигенно_ Конструкции со сложными ифами получаются совершенно нечитабельными : > > > > <% if(a) > > > > { %> > > > > <%= some %> > > > > <% } %> > > > > Это уже изврат, а если сложнее? > > > > > > <% if(a) { %> > > > <%= some %> > > > <% } %> > > > > > > смотрится вполне нормально. Я вообще разницы не наюлюдаю в том что вокруг, а сама печать намного короче записывается. > > > > ? > > Не замечаешь? Ну ладно, а если так : > > > > <% if(a) { %> > > <%= some %> > > <% if(b) {%} > > <%= yet another %> > > <% } %> > > <% } %> > > > > > > А если элсы и посложнее структура? > > > > > > > > > > Будут проблемы - информируй. > > > > Так вот не могу побороть. Получается у меня либо весь документ крякозябрами, либо мои ауты. С утра сижу, уже чувствую, что офигеваю. Пойду вот чаю выпью, вдруг поможет :) > > > > > > Разберись с исходной кодировкой. С кодировкой в какой у тебя работает JVM и с кодировкой которую хочет браузер. Сделай страницу без всяких метов и прочей ерунды с кусочком русского текста и сделай так чтобы она у тебя правиильно показывалась. Извращаться будешь потом. > > > > Так вот не могу. При чем тут вообще мета? Сказал на свою голову. Ты на контекст посмотри, в котором я про мету говорил. Мне непонятно почему часть документа в одной кодировке, а часть - в другой получается. И непонятно что такое "кодировка, в которой работает джевеем" Меня на курсах у сана учили, что внутри у него уникод. Так что же задает переменная lang? > > А бровзеру надо отдать тоже 1251. > >
_, _, _,
/ \ (_ / ~ )
\ / , ) / /
~ ~ ~~~
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.