Re[8]: Unicode && AJAX
От: Mimi  
Дата: 20.10.06 12:35
Оценка:
Здравствуйте, Yuri Khomich, Вы писали:

YK>Hello, Mimi!

YK>You wrote on Fri, 20 Oct 2006 11:54:18 GMT:

YK>>> Подозреваю, что если использовать метод POST то все ок?


M>> да нет.. то же самое.


YK>Давайте код сервлета, который формирует ответ.

YK>И проверьте на всякий случай нет ли фильтров, которые могут производить перекодировку.

Фильтр есть, но он вроде как в УТФ-8 все и перекодирует. Вот что у меня добавлено в web.xml


<filter>
    <filter-name>Charset Filter</filter-name>
    <filter-class>utilities.CharsetFilter</filter-class>
    <init-param>
      <param-name>requestEncoding</param-name>
      <param-value>UTF-8</param-value>
    </init-param>
  </filter>



Вот примерно код сервлета:


public void doPost(HttpServletRequest request, HttpServletResponse response) throws
        ServletException, IOException
{
    // проверяем, есть ли юзер в сессии
    // если да, пишем лог, что такой-то юзер запросил такую-то инфу 
    // ... проверяем права юзера... 
    // если можно позволить юзеру достать ту инфу, то 

    response.setContentType(CONTENT_TYPE); // "text/xml; charset=UFT-8" берется из глобалсов 
    blManager blMan = new blManager();
    String retXmlBuf = null;
    
    if(isAuthorizedToGetThisInfo) retXmlBuf = blMan.getXMLfor(utilities.Globals.SOME_DEFINED_VAR);
    out.println(retXmlBuf);
    out.close();
    

// вот что пишется в лог:

// Content-Type: text/xml;charset=UTF-8
// ------------------------------------------
// Собсна буфер:
// <?xml version="1.0" encoding="utf-8"?>
// <Projects Name="Projects">
// <Project ID="17" Name="Project">
// <Name Name="Name" formap="1">Куку</Name>
// <Description Name="Description">тралала</Description>
// <CustomerID Name="Customer ID">54</CustomerID>
// <CustomerCompanyName Name="Customer Company Name"/>
// <CustomerContactFirstName Name="Customer Contact First Name">Василиса</CustomerContactFirstName>
// <CustomerContactLastName Name="Customer Contact Last Name">Прекрасная</CustomerContactLastName>
// <CustomerBillingAddress Name="Customer Billing Address"/>
// <CustomerCity Name="Customer City"/>
// <CustomerStateorProvince Name="Customer State or Province"/>
// <CustomerPostalCode Name="Customer Postal Code"/>
// <CustomerCountry Name="Customer Country"/>
// <CustomerContactTitle Name="Customer Contact Title"/>
// <CustomerPhoneNumber Name="Customer Phone Number"/>
// <CustomerFaxNumber Name="Customer Fax Number"/>
// <CustomerEmailAddress Name="Customer Email Address"/>
// <CustomerNotes Name="Customer Notes"/>
// <StartDate Name="Start Date">1999-04-04</StartDate>
// <Identifier Name="Identifier">и вот и все</Identifier>
// <Custom1 Name="Custom1">кастом 1</Custom1>
// <Custom2 Name="Custom2">кастом 2</Custom2>
// <Custom3 Name="Custom3">кастом 3</Custom3>
// <Custom4 Name="Custom4">кастом 4</Custom4>
// </Project>
// </Projects>
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.