Показать сообщение отдельно
Старый 23.02.2007, 02:07
Mr Null вне форума Посмотреть профиль Отправить личное сообщение для Mr Null Найти все сообщения от Mr Null
  № 1  
Ответить с цитированием
Mr Null

Регистрация: Oct 2005
Сообщений: 16
The bomb! Кодировки, кодировки и снова кодировки.

Доброго времени суток, Господа Flasher'ы и Flexer'ы.
Разрабатываю приложение для Intranet:
Сервер: Tomcat + PostgeSQL
Клиент: Flex
На сервере имеется Servlet которому Flex-клиент передаёт данные в виде некого xml-документа, далее сервлет их парсит и засовывает в БД, либо же наоборот - вытаскивает данные из базы, собирает из них xml документ и отдает flex-клиенту. В базе, данные хранятся в формате UTF-8.
В случае использования чисто английского языка, разумеется проблем не возникает, проблемы возникают как только из Flex'а поступают какие то русские данные.
на входе:
Код:
<name>привет</name>
на выходе же получаем вот это:
Код:
<name>пÑ?ивет</name>
При просмотре таблицы с помощью pgAdmin'а, в соответствующей ячейке вижу ту же самую ерунду, зато когда из pgAdmin'а меняю эту ерунду на нормальный русский текст, смотрю во Flex'е - все нормально, видит русский без проблемм.

Далее, ставлю breakpoint в теле servlet'а, смотрю что у нас request.getParameter("data") отдаёт и обнаруживаю что та же самая петрушка - абракадабра.

Отсюда можно сделать вывод что сбой происходит на этапе взаимодействия Flex'а с Servlet'ом.

Как это побороть, подскажите пожалуйста, кто знает.