Модераторы: LSD, AntonSaburov

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> кодировка русскога алфавита 
V
    Опции темы
katala
Дата 5.5.2006, 13:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 15.4.2006

Репутация: нет
Всего: нет



народ помогите!!
какое заначение надо указать в парамтре 
charset=????
что бы IE воспринимал русский шрифт
я пробовал и сp1251 b Windows-1251 b UTF-8.  но результато это не дало. и еще вопрос может я не в том месте устанавливаю
я пишу это в html странице

Код

<head>
        <meta http-equiv="Content-Type" content="text/html; charset=Cp1251">
        <LINK href="templates/template.css" type=text/css rel=stylesheet>
    </head>
 
PM MAIL   Вверх
carper
Дата 5.5.2006, 13:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 227
Регистрация: 2.3.2005

Репутация: 2
Всего: 8



Исходя из того, что это форум по J2EE, предположу, что

<%@page pageEncoding="windows-1251"%>

 
PM MAIL   Вверх
katala
Дата 5.5.2006, 13:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 15.4.2006

Репутация: нет
Всего: нет



нет  использую vm-странички а не jsp  
PM MAIL   Вверх
powerOn
Дата 5.5.2006, 13:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


Профиль
Группа: Участник
Сообщений: 4367
Регистрация: 7.10.2005

Репутация: 28
Всего: 159



еще можно cp866 попробовать. И не забыть в меню Вид -> Кодировка проверить обстановку... 


--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
katala
Дата 5.5.2006, 13:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 15.4.2006

Репутация: нет
Всего: нет



MoonCat, и просить всех пользователей менять в браузерах кодировку smile. надо что бы кодировка браузера игнорировалась. там типа стоит авто выбор и пременялась та кодировка которую я установил  
PM MAIL   Вверх
Bulat
Дата 5.5.2006, 13:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


татарский Нео
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 22.3.2006
Где: Альметьевск

Репутация: нет
Всего: 57



А можно по подробнее, сам нередко сталкивался с проблемой кодировки, вполне возможно еще где-то ее нужно указать, не только как параметр vm-страницы 


--------------------
менеджер по кодеврайтингу  smile 
PM MAIL WWW   Вверх
powerOn
Дата 5.5.2006, 13:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


Профиль
Группа: Участник
Сообщений: 4367
Регистрация: 7.10.2005

Репутация: 28
Всего: 159



Цитата

MoonCat, и просить всех пользователей менять в браузерах кодировку smile


Если браузер автоматически не в состоянии распознать кодировку, по поменять её руками - совершенно нормальное явление. ... и вообще зачем тогда возможность менять кодировку руками имеется браузеров?

А всетаки, если поменять кодировку в настройках браузера работать будет (ну ради интереса) ?
 


--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
tux
Дата 6.5.2006, 02:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Летатель
***


Профиль
Группа: Участник Клуба
Сообщений: 1853
Регистрация: 10.2.2005
Где: msk.ru

Репутация: 74
Всего: 132



PM MAIL Skype GTalk Jabber YIM   Вверх
katala
Дата 6.5.2006, 16:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 15.4.2006

Репутация: нет
Всего: нет



если я добавляю в код 
p.put("input.encoding", "windows-1251");    
        p.put("output.encoding", "windows-1251");
у меня наооборот появляютя одни ???????? а до этого у меня были  просто иероглифы. мне это не помогло. какие есть еще идеи???? 
PM MAIL   Вверх
tux
Дата 6.5.2006, 17:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Летатель
***


Профиль
Группа: Участник Клуба
Сообщений: 1853
Регистрация: 10.2.2005
Где: msk.ru

Репутация: 74
Всего: 132



Цитата(katala @  6.5.2006,  21:29 Найти цитируемый пост)
если я добавляю в код 
p.put("input.encoding", "windows-1251");    
        p.put("output.encoding", "windows-1251");
у меня наооборот появляютя одни ???????? а до этого у меня были  просто иероглифы. мне это не помогло. какие есть еще идеи????  

Чудеса какие-то. Напиши как ты обрабатываешь шаблоны Velocity и пример самого шаблона. 
PM MAIL Skype GTalk Jabber YIM   Вверх
katala
Дата 6.5.2006, 18:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 15.4.2006

Репутация: нет
Всего: нет



Код

<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
        <meta http-equiv="pragma" content="no-cache" />    
        <meta http-equiv="expires" content="Wed, 26 Feb 1997 08:21:57 GMT" />    
        <title>Menu example</title>
    </head>
    
    <body>
        #parse("menu.vm")
    </body>

</html>

Код

public class Index extends AbstractVelocityAction {
    
    public ActionForward processActionLogic(VelocityContext context, ActionMapping mapping, ActionForm form, HttpServletRequest request) throws Exception {
        
        template = Velocity.getTemplate("main.vm");    
        return mapping.findForward("/index");
        
    }
}
 
PM MAIL   Вверх
katala
Дата 6.5.2006, 18:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 15.4.2006

Репутация: нет
Всего: нет



причем вот какая закономерность если я не ставлю  в настройках
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. совсем не могу понять где проблема??? 
PM MAIL   Вверх
tux
Дата 7.5.2006, 08:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Летатель
***


Профиль
Группа: Участник Клуба
Сообщений: 1853
Регистрация: 10.2.2005
Где: msk.ru

Репутация: 74
Всего: 132



А вот это делается?
Код

response.setContentType("text/html; charset=windows-1251");
 
PM MAIL Skype GTalk Jabber YIM   Вверх
katala
Дата 7.5.2006, 14:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 15.4.2006

Репутация: нет
Всего: нет



все!!! заработало!! спасибо!!! как только смогу сразу поставлю пару плюсов(уже задолжал)! еще раз сенкс!!! 
PM MAIL   Вверх
katala
Дата 7.5.2006, 15:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 15.4.2006

Репутация: нет
Всего: нет



извиняюсь что появилась еще одна проблема в кодировкой. если с тем что записана в вм-ках и через context.put() проблем не возникает(теперь не возникает) то теперь появилась проблема с возврашаемыми значениями полей. я пробовал ставить 
 request.setCharacterEncoding("windows-1251"); но это не помогло остаються ???? вместо русского текста.  tux помоги!!!! 
PM MAIL   Вверх
tux
Дата 7.5.2006, 16:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Летатель
***


Профиль
Группа: Участник Клуба
Сообщений: 1853
Регистрация: 10.2.2005
Где: msk.ru

Репутация: 74
Всего: 132



Тема обсуждалась многократно. Кодировка должна выставляться до первого обращения в объекту класса HttpServletRequest. Если используется какой-либо фреймворк (Struts, например), то кодировку ты гарантированно устанавливаешь уже после первого обращения. Поэтому делать это надо в фильтре. Рецепт здесь - http://forum.vingrad.ru/index.php?showtopi...st&p=530693.  

Это сообщение отредактировал(а) tux - 7.5.2006, 16:49
PM MAIL Skype GTalk Jabber YIM   Вверх
katala
Дата 7.5.2006, 18:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 15.4.2006

Репутация: нет
Всего: нет



все и с этой проблемой справились(общими усилиями). теперь еще два вороса
почему в web.xml после добавления 
 
Код

<filter>    
        <filter-name>SelectLanguageFilter</filter-name>    
        <filter-class>filter.SelectLanguageFilter</filter-class>    
      <init-param>    
        <param-name>requestEncoding</param-name>    
        <param-value>windows-1251</param-value>    
      </init-param>    
    </filter>    
    <filter-mapping>    
        <filter-name>SelectLanguageFilter</filter-name>    
        <url-pattern>/*</url-pattern>    
    </filter-mapping>
 напротив строки </web-app> повляется знак ошибки????
и второе как теперь в базу правильно сохранить. вообще для работы с базой изполью технология hibernate.  все настройки в файле hibernate-config.xml

Код

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC  "-//Hibernate/Hibernate Configuration DTD//EN"  "hibernate-configuration-2.0.dtd" >

<hibernate-configuration>


    <session-factory name="java:comp/env/hibernate/SessionFactory">

        <property name="hibernate.connection.datasource">java:comp/env/jdbc/forum</property>

        <property name="hibernate.dialect">net.sf.hibernate.dialect.MySQLDialect</property>
        <property name="hibernate.show_sql">true</property>
        <property name="hibernate.use_outer_join">true</property>

        <!-- <property name="hibernate.transaction.factory_class">net.sf.hibernate.transaction.JBossTransactionManagerLookup</property>-->

        <property name="hibernate.jta.UserTransaction"> java:comp/UserTransaction</property>

        <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
        <property name="hibernate.connection.url">jdbc:mysql://localhost/hibernate?characterEncoding=UTF-8</property>
        <property name="hibernate.connection.username">lex</property>
        <property name="hibernate.connection.password"></property>
        <property name="hibernate.connection.provider_class">net.sf.hibernate.connection.DriverManagerConnectionProvider</property>

     <property name="c3p0.max_size">1000</property>
        <property name="c3p0.min_size">2</property>
        <property name="c3p0.timeout">5000</property>
        <property name="c3p0.max_statements">100</property>
        <property name="c3p0.validate">true</property>

        <property name="dbcp.maxActive">1000</property>
        <property name="dbcp.maxIdle">100</property>
        <property name="dbcp.maxWait">5000</property>
        <property name="dbcp.whenExhaustedAction">0</property>
        <property name="dbcp.testOnBorrow">false</property>
        <property name="dbcp.testOnReturn">false</property>
        <property name="dbcp.ps.maxActive">100</property>
        <property name="dbcp.ps.maxIdle">100</property>
        <property name="dbcp.ps.maxWait">100</property>
        <property name="dbcp.ps.whenExhaustedAction">0</property>

        <property name="query.substitutions">true=1, false=0</property>

        <!-- mapping files -->
        <mapping resource="hibernate/mapping/Client.hbm.xml"/>
        

    </session-factory>

</hibernate-configuration>


пробовал добавить запись <property name="characterEncoding">windows-1251</property>
но не помогло . подскажи что надо добавить и что изменить 
PM MAIL   Вверх
batigoal
Дата 7.5.2006, 21:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 16
Всего: 151



Цитата(katala @  7.5.2006,  19:47 Найти цитируемый пост)
почему в web.xml ... напротив строки </web-app> повляется знак ошибки????

Посмотри вот этот топик: http://forum.vingrad.ru/index.php?showtopic=94881, возможно, у тебя та же проблема. 


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
katala
Дата 7.5.2006, 22:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 15.4.2006

Репутация: нет
Всего: нет



Lamer George,точно! спасибо! просто неправильный порядок следования 
PM MAIL   Вверх
tux
Дата 8.5.2006, 04:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Летатель
***


Профиль
Группа: Участник Клуба
Сообщений: 1853
Регистрация: 10.2.2005
Где: msk.ru

Репутация: 74
Всего: 132



Цитата(katala @  7.5.2006,  23:47 Найти цитируемый пост)
пробовал добавить запись <property name="characterEncoding">windows-1251</property>
но не помогло . подскажи что надо добавить и что изменить  

А проблема-то в чем? Опять с кодировкой того, что записывается в базу данных? Если так, попробуй изменить URL подключения на такой:
Код

jdbc:mysql://localhost/hibernate?useUnicode=true&characterEncoding=utf-8

И еще вот из этих двух наборов:
Код

<property name="c3p0.max_size">1000</property>
<property name="c3p0.min_size">2</property>
<property name="c3p0.timeout">5000</property>
<property name="c3p0.max_statements">100</property>
<property name="c3p0.validate">true</property>

и
Код

<property name="dbcp.maxActive">1000</property>
<property name="dbcp.maxIdle">100</property>
<property name="dbcp.maxWait">5000</property>
<property name="dbcp.whenExhaustedAction">0</property>
<property name="dbcp.testOnBorrow">false</property>
<property name="dbcp.testOnReturn">false</property>
<property name="dbcp.ps.maxActive">100</property>
<property name="dbcp.ps.maxIdle">100</property>
<property name="dbcp.ps.maxWait">100</property>
<property name="dbcp.ps.whenExhaustedAction">0</property>

что-то одно убери. Это настройки для двух разных пулов соединений. Вместе они все равно использоваться не будут ни при каких обстоятельствах. Скорее всего используется первый, поскольку hibernate его первым находит. 
PM MAIL Skype GTalk Jabber YIM   Вверх
katala
Дата 28.5.2006, 16:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 15.4.2006

Репутация: нет
Всего: нет



опять вернулся к этой проблеме(тогда не дороботал а теперь из-за этого проблемы).
никак не получается хранить в базе инфу написанную ни кирилице.

Цитата

А проблема-то в чем? Опять с кодировкой того, что записывается в базу данных? Если так, попробуй изменить URL подключения на такой:

jdbc:mysql://localhost/hibernate?useUnicode=true&characterEncoding=utf-8

так пробовал но не помогло.
 
попробую сформулировать проблему еще раз:
 с формы получаю данные(на этом этапе без проблем) и сохраняю их в базе. потом когда их  выгружаю из базы  получаютя одни ???????. где мне и что исправить чтобы нормально принимать кирилицу????? 
PM MAIL   Вверх
tux
Дата 29.5.2006, 02:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Летатель
***


Профиль
Группа: Участник Клуба
Сообщений: 1853
Регистрация: 10.2.2005
Где: msk.ru

Репутация: 74
Всего: 132



Вижу единственную причину почему так происходит - проблема в соединении с базой данных. Либо база данных создана с такой кодировкой, которая не поддерживает кириллицу (например, вообще без задания кодировки), либо между кодировкой базы и кодировкой клиента не поддерживается конвертация. 
PM MAIL Skype GTalk Jabber YIM   Вверх
Maksym
Дата 11.6.2006, 14:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


.
***


Профиль
Группа: Участник Клуба
Сообщений: 1456
Регистрация: 19.8.2005
Где: Odessa, Black Sea

Репутация: 24
Всего: 62



Поднимаю тему 
 smile 
Проблема кодировок решалась в системе подключением фильтра (первого в цепочке), который делал: 
Код
request.setCharacterEncoding("UTF-8");

После того как система мигрировала на Struts - кодировки опять поломались. Приведенный фильтр уже не помогает.
Есть подозрение, что Struts обращается к request'у раньше моего фильтра /а метод setCharacterEncoding() срабатывает только в случае если он вызван до первого обращания к request/ - о чем писали выше, но фильтр стоит как и раньше первым в цепочке.  smile 
Может я что-то где-то пропустил..?  smile

Добавлено @ 14:34 
Прошу прощения, в фильтр вообще не попадало управление  smile 
В мапинге фильтра нужно было написать *.do вместо /*.do или  /* , как я пробовал...  smile  ну где же логика..! smile  

Это сообщение отредактировал(а) Maksym - 11.6.2006, 14:22
PM MAIL   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.1693 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.