| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java EE (J2EE) и Spring > кодировка русскога алфавита |
| Автор: katala 5.5.2006, 13:27 | ||
| народ помогите!! какое заначение надо указать в парамтре charset=???? что бы IE воспринимал русский шрифт я пробовал и сp1251 b Windows-1251 b UTF-8. но результато это не дало. и еще вопрос может я не в том месте устанавливаю я пишу это в html странице
|
| Автор: carper 5.5.2006, 13:36 |
| Исходя из того, что это форум по J2EE, предположу, что <%@page pageEncoding="windows-1251"%> |
| Автор: katala 5.5.2006, 13:38 |
| нет использую vm-странички а не jsp |
| Автор: powerOn 5.5.2006, 13:39 |
| еще можно cp866 попробовать. И не забыть в меню Вид -> Кодировка проверить обстановку... |
| Автор: katala 5.5.2006, 13:48 |
| MoonCat, и просить всех пользователей менять в браузерах кодировку |
| Автор: Bulat 5.5.2006, 13:55 |
| А можно по подробнее, сам нередко сталкивался с проблемой кодировки, вполне возможно еще где-то ее нужно указать, не только как параметр vm-страницы |
| Автор: powerOn 5.5.2006, 13:59 | ||
Если браузер автоматически не в состоянии распознать кодировку, по поменять её руками - совершенно нормальное явление. ... и вообще зачем тогда возможность менять кодировку руками имеется браузеров? А всетаки, если поменять кодировку в настройках браузера работать будет (ну ради интереса) ? |
| Автор: tux 6.5.2006, 02:24 |
| http://forum.vingrad.ru/index.php?showtopic=83132 |
| Автор: katala 6.5.2006, 16:29 |
| если я добавляю в код p.put("input.encoding", "windows-1251"); p.put("output.encoding", "windows-1251"); у меня наооборот появляютя одни ???????? а до этого у меня были просто иероглифы. мне это не помогло. какие есть еще идеи???? |
| Автор: katala 6.5.2006, 18:05 | ||||
|
| Автор: katala 6.5.2006, 18:31 |
| причем вот какая закономерность если я не ставлю в настройках p.put("input.encoding", "windows-1251"); p.put("output.encoding", "windows-1251"); то текст который я пишу в вм-ка появляется ввиде иероглифов(лезу в браузер меняю на windows-1251) и он становиться нормальным а если ставлю то он становиться вопросами. А текстк который я записывуаю в классе как context.put() совсем ведет себя по другому в вм-ке он появляется как вопросы и при этом если я меняю кодировку в браузере никак не реагирует причем и p.put("input.encoding", "windows-1251"); p.put("output.encoding", "windows-1251"); не помогает. пробовал как в опере так и IE. совсем не могу понять где проблема??? |
| Автор: tux 7.5.2006, 08:01 | ||
А вот это делается?
|
| Автор: katala 7.5.2006, 14:44 |
| все!!! заработало!! спасибо!!! как только смогу сразу поставлю пару плюсов(уже задолжал)! еще раз сенкс!!! |
| Автор: katala 7.5.2006, 15:49 |
| извиняюсь что появилась еще одна проблема в кодировкой. если с тем что записана в вм-ках и через context.put() проблем не возникает(теперь не возникает) то теперь появилась проблема с возврашаемыми значениями полей. я пробовал ставить request.setCharacterEncoding("windows-1251"); но это не помогло остаються ???? вместо русского текста. tux помоги!!!! |
| Автор: tux 7.5.2006, 16:48 |
| Тема обсуждалась многократно. Кодировка должна выставляться до первого обращения в объекту класса HttpServletRequest. Если используется какой-либо фреймворк (Struts, например), то кодировку ты гарантированно устанавливаешь уже после первого обращения. Поэтому делать это надо в фильтре. Рецепт здесь - http://forum.vingrad.ru/index.php?showtopic=66203&view=findpost&p=530693. |
| Автор: katala 7.5.2006, 18:47 | ||||
| все и с этой проблемой справились(общими усилиями). теперь еще два вороса почему в web.xml после добавления
и второе как теперь в базу правильно сохранить. вообще для работы с базой изполью технология hibernate. все настройки в файле hibernate-config.xml
пробовал добавить запись <property name="characterEncoding">windows-1251</property> но не помогло . подскажи что надо добавить и что изменить |
| Автор: batigoal 7.5.2006, 21:46 | ||
Посмотри вот этот топик: http://forum.vingrad.ru/index.php?showtopic=94881, возможно, у тебя та же проблема. |
| Автор: katala 7.5.2006, 22:29 |
| Lamer George,точно! спасибо! просто неправильный порядок следования |
| Автор: tux 8.5.2006, 04:40 | ||||||||
А проблема-то в чем? Опять с кодировкой того, что записывается в базу данных? Если так, попробуй изменить URL подключения на такой:
И еще вот из этих двух наборов:
и
что-то одно убери. Это настройки для двух разных пулов соединений. Вместе они все равно использоваться не будут ни при каких обстоятельствах. Скорее всего используется первый, поскольку hibernate его первым находит. |
| Автор: katala 28.5.2006, 16:29 | ||
| опять вернулся к этой проблеме(тогда не дороботал а теперь из-за этого проблемы). никак не получается хранить в базе инфу написанную ни кирилице.
так пробовал но не помогло. попробую сформулировать проблему еще раз: с формы получаю данные(на этом этапе без проблем) и сохраняю их в базе. потом когда их выгружаю из базы получаютя одни ???????. где мне и что исправить чтобы нормально принимать кирилицу????? |
| Автор: tux 29.5.2006, 02:20 |
| Вижу единственную причину почему так происходит - проблема в соединении с базой данных. Либо база данных создана с такой кодировкой, которая не поддерживает кириллицу (например, вообще без задания кодировки), либо между кодировкой базы и кодировкой клиента не поддерживается конвертация. |
| Автор: Maksym 11.6.2006, 14:20 | ||
| Поднимаю тему Проблема кодировок решалась в системе подключением фильтра (первого в цепочке), который делал:
После того как система мигрировала на Struts - кодировки опять поломались. Приведенный фильтр уже не помогает. Есть подозрение, что Struts обращается к request'у раньше моего фильтра /а метод setCharacterEncoding() срабатывает только в случае если он вызван до первого обращания к request/ - о чем писали выше, но фильтр стоит как и раньше первым в цепочке. Может я что-то где-то пропустил..? Добавлено @ 14:34 Прошу прощения, в фильтр вообще не попадало управление В мапинге фильтра нужно было написать *.do вместо /*.do или /* , как я пробовал... |