Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> кодировки при использовании JSP 
:(
    Опции темы
vit_er
Дата 15.10.2007, 11:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Подсобите плз!



у меня на jsp  

<li>
 <test:label styleClass="desc" key="customer.name" /> 
 <form:input path="name" id="name" cssClass="text large" />
</li>

сюда вводим имя на украинском

нажимаем

вот такую кнопку 

<c:set var="buttons">

<input value="<fmt:message key="button.search"/>" type="button" class="button"

onclick="location.href='<c:url value="/customerList.html?name='+document.getElementById('name').value+'&idField=customer.dealid&idForm=searchCustomerForm', null, 'height=600,width=800,status=yes,toolbar=yes,menubar=yes,location=yes,directories=yes,scrollbars=yes,copyhistory=yes,resizable=yes"/>'"/>

</c:set>



и после нажатия на кнопку данные передаются 
в контроллер вот сюда и сетятся!

customer.setName(request.getParameter("name"));
но в дебаге смотрю а там непонятная кодировка
вот похоже на такое вано!

в чем может быть проблема?

что надо делать что в нормальной кодировке оно сетилось в кастомера!
а то у меня потом
вот такой поиск не срабатывает по базе!
if (customer.getName()!=null && customer.getName().length()>0){
            criteria.add(Expression.like("name", "%"+customer.getName()+"%"));
        }


помогите люди! очень надо!

давайте решим эту маленькую проблемку!
PM MAIL   Вверх
Astraller
Дата 15.10.2007, 11:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 300
Регистрация: 1.8.2007
Где: $Украина[Кры м]->Феодосия

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



Используйте UTF-8 и будет вам щастье....  smile 

PS В jsp не силён.


--------------------
A.S.T.R.A.L.L.E.R.: Artificial Synthetic Technician Responsible for Assassination, Logical Learning and Efficient Repair
PM MAIL WWW ICQ   Вверх
vit_er
Дата 15.10.2007, 12:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



спасибки!

я уже перепробовал все кодировки которые поддерживают кирилицу!

результат конечно менялся но в нормальном виде введенное имя не отображается!

а utf-8 с самого начала по умолчанию стоит!))))


может еще кто чего посоветует!
PM MAIL   Вверх
Astraller
Дата 15.10.2007, 12:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 300
Регистрация: 1.8.2007
Где: $Украина[Кры м]->Феодосия

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



А при выводе тоже UTF-8? А база в какой кодировке? Если UTF-8 то как там отображаеться? Нормально или так же?


--------------------
A.S.T.R.A.L.L.E.R.: Artificial Synthetic Technician Responsible for Assassination, Logical Learning and Efficient Repair
PM MAIL WWW ICQ   Вверх
vit_er
Дата 15.10.2007, 12:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



в контроллере из request.getCharacterEncoding();

выдает windows-1251!
не пойму почему так!

ведь при генерации jsp стоит utf-8!

а в браузере юникод utf-8 тоже!

вводим имя и пипец!
абракадабра понеслась!

тут до базы далеко!

если  б метод поиска 
if (customer.getName()!=null && customer.getName().length()>0){
            criteria.add(Expression.like("name", "%"+customer.getName()+"%"));
        }
не срабатывал вот тада с базой непорядок верней с кодировкой!
а так оно еще не доходит довызова метода поиска 

ща покажу

package com.deltabank.cia.webapp.action;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
import com.deltabank.cia.model.Customer;
import com.deltabank.cia.service.CustomerManager;


public class CustomerListController implements Controller{
    
    private transient final Log log = LogFactory.getLog(CustomerListController.class);
    
    private CustomerManager customerManager;
    
    public void setCustomerManager(CustomerManager customerManager) {
        this.customerManager = customerManager;
    }
    
    public ModelAndView handleRequest(HttpServletRequest request,
            HttpServletResponse response)
    throws Exception {
     if (log.isDebugEnabled()) {
         log.debug("entering 'handleRequest' method...");
     }
     
     request.getCharacterEncoding();
     Customer customer = new Customer();
     customer.setDealno(request.getParameter("dealno"));
     customer.setName(request.getParameter("name"));
     customer.setIdentifycode(request.getParameter("identifycode"));
     customer.setCorraccountno(request.getParameter("corraccountno"));
     customer.setAdresstt(request.getParameter("adresstt"));
     return new ModelAndView("customerList", "customerList", customerManager.searchCustomerByCriteria(customer));
    }
}


вот контроллер

после ввода имени на русском или украинском на jsp повторюсь!
я нажимаю вот эту кнопку
<c:set var="buttons">
        <input value="<fmt:message key="button.search"/>" type="button" class="button"
        onclick="location.href='<c:url value="/customerList.html?dealno='+document.getElementById('dealno').value+'&name='+document.getElementById('name').value+'&identifycode='+document.getElementById('identifycode').value+'&corraccountno='+document.getElementById('corraccountno').value+'&adresstt='+document.getElementById('adresstt').value+'&idField=customer.dealid&idForm=searchCustomerForm', null, 'height=600,width=800,status=yes,toolbar=yes,menubar=yes,location=yes,directories=yes,scrollbars=yes,copyhistory=yes,resizable=yes"/>'"/>

</c:set>


и получаю из request.getCharacterEncoding() = windows-1251

и введенное слово абракадаброй сетиться в контролере 

customer.setName(request.getParameter("name"));

а метод поиска он в низу подключаю в ретурне
return new ModelAndView("customerList", "customerList", customerManager.searchCustomerByCriteria(customer));

могу показать полный метод
public List searchCustomerByCriteria (Customer customer){
        Criteria criteria=getSession().createCriteria(Customer.class);
        if (customer.getDealno()!=null && customer.getDealno().length()>0){
            criteria.add(Expression.like("dealno", customer.getDealno()+"%"));
        }
        if (customer.getName()!=null && customer.getName().length()>0){
            criteria.add(Expression.like("name", "%"+customer.getName()+"%"));
        }
        if (customer.getIdentifycode()!=null && customer.getIdentifycode().length()>0){
            criteria.add(Expression.like("identifycode", customer.getIdentifycode()+"%"));
        }
        if (customer.getCorraccountno()!=null && customer.getCorraccountno().length()>0){
            criteria.add(Expression.like("corraccountno", customer.getCorraccountno()+"%"));
        }
        if (customer.getAdresstt()!=null && customer.getAdresstt().length()>0){
            criteria.add(Expression.like("adresstt", "%"+customer.getAdresstt()+"%"));
        }
        return criteria.list();
    }


вот вроде все!



если ввести слово на англ то воркает все клево и поиск тоже!
но база на украинском и тут проблема!

так что люди подсобите!
кто чем может!

PM MAIL   Вверх
dstorm81
Дата 15.10.2007, 12:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


бездельник
***


Профиль
Группа: Завсегдатай
Сообщений: 1178
Регистрация: 18.1.2006
Где: (16RU)

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



во первых сам jsp должен быть сохранен в ютф-8
во вторых в файле должна быть строка
<meta http-equiv="content-type" content="text/html; charset=utf-8" /> 
в третьих когда лотдаешь файл клиенту использую что либо подобное как в php
header('Content-Type: text/html; charset=utf-8'); 



--------------------
на форуме с 8.12.2002 (http://forum.vingrad.ru/index.php?act=ST&f=10&t=4874&st=0#)

PM   Вверх
vit_er
Дата 15.10.2007, 12:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



я не пойму как из реквеста вылазит 1251 а не утф-8!

Добавлено через 3 минуты и 51 секунду
вот это <%@ include file="/common/taglibs.jsp"%>

означает что подключено при генерации
вот такое <%@ page language="java" errorPage="/error.jsp" pageEncoding="utf-8" contentType="text/html; charset=utf-8" %>

а есть подобный код который подходит для меня что б он в реквест сетил утф-8 принудительно!
?????

спасибки!!!!
PM MAIL   Вверх
dstorm81
Дата 15.10.2007, 13:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


бездельник
***


Профиль
Группа: Завсегдатай
Сообщений: 1178
Регистрация: 18.1.2006
Где: (16RU)

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



 <%@ include file="/common/taglibs.jsp"%> в ютф-8???
все файлы должны быть сохранены в юта-8, абсолютно все...
смотри настройки сервера также
Бред:предположу что сохранять надо без БОМ (Byte Order Mark) smile


--------------------
на форуме с 8.12.2002 (http://forum.vingrad.ru/index.php?act=ST&f=10&t=4874&st=0#)

PM   Вверх
vit_er
Дата 15.10.2007, 14:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



да уже сделал!
все в утф-8!

а все равно не воркает!
зашел в window->preferences нажал + на web and xml и все сохранил в утф8!
в web.xml вот что
<filter>
        <filter-name>encodingFilter</filter-name>
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
        <init-param>
            <param-name>encoding</param-name>
            <param-value>UTF-8</param-value>
        </init-param>
        <init-param>
            <param-name>forceEncoding</param-name>
            <param-value>true</param-value>
        </init-param>
    </filter>

я уже думал принудительно в контролере public class CustomerListController implements Controller

проставить на реквест  и на респонс утф8 - не срабатывает!!!

уже и не наю что делать!

мне вообще надо решить задачу поиска клиента по введенным данным !

может кто знает другой способ как сделать поиск - напишите, плз!


заранее благодарен!

PM MAIL   Вверх
vit_er
Дата 15.10.2007, 14:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



всем спасибки!
все сам решил проблему!
спасибо за то что потратили свое время на меня!


PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




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


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

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