Модераторы: SoWa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблемы с кодировкой в Flex+JSP+DB2 
:(
    Опции темы
geckelberryfinn
Дата 10.9.2007, 12:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Проблема в следующем ( не новая, с ней сталкивались, но решений я так и не нашел). Может это на столько очевидно, что никто не утруждает себя заниматься ликбезом, однако, есть большая просьба отбросить ленность и, если можете помочь - напишите. 
Есть некий интерфейс редактирования определенных полей в БД (IBM DB2 - но это, как будет видно дальше, не важно). Все очень просто, в текстовых полях определенные элементы редактируются/создаются и после нажатия на кнопочку "сохранить"данные отправляются jsp страничке (IBM WebSphere), которая записывает их в базу. Все хорошо работает в случае, если буковки в текстовых полях нерусские. В противном случае, как несложно догадаться - непонятная билиберда. mxml  в utf-8, jsp - в utf-8. Если данные считываются из бд, записи которой созданы вручную, то вся русская информация отображается корректно. 
Вот заголовки, которые отправляет сгенерированная swf
Код

Content-Type    text/xml;charset=utf-8
Content-Language    ru-RU
Content-Length    39
Date    Mon, 10 Sep 2007 10:03:34 GMT

Request Headers

User-Agent    Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6
Accept    text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language    ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding    gzip,deflate
Accept-Charset    windows-1251,utf-8;q=0.7,*;q=0.7

То, что отправляется выглядит уже плохо
Код

Parameters
action=createfilter
enginecode=    
filtername=фывфы
kppcode=
modelcode=    
warrantycode=

PM MAIL   Вверх
AntonioBanderaz
Дата 13.9.2007, 09:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Velichko Anton
**


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

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



Кодируй русские буквы стандартным URLEncode
Примерно так:
Код

var url:String = "http://localhost:8080/test.jsp";
var request:URLRequest = new URLRequest(url);
var variables:URLVariables = new URLVariables();
variables.samplerussianvar = "ТЕСТИРОВАНИЕ";
trace(variables.toString());
request.data = variables;
navigateToURL(request);


Добавлено через 2 минуты и 10 секунд
Кодируй русские буквы стандартным URLEncode
Примерно так:
Код

var url:String = "http://localhost:8080/test.jsp";
var request:URLRequest = new URLRequest(url);
var variables:URLVariables = new URLVariables();
variables.samplerussianvar = "ТЕСТИРОВАНИЕ";
trace(variables.toString());
request.data = variables;
navigateToURL(request);



--------------------
ГЫ... 
PM MAIL ICQ   Вверх
mantracoder
Дата 2.10.2007, 10:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



А может проблема в кодировке БД?  Какую кодировку использует БД?  Прежде чем обвинять Flex в неправильном декодинге стоит проверить насколько правильно записываются и извлекаются данные из БД. Вписанные вручную - не в счет. Я на данный момент знаю только один существенный баг во Flex при работе с UTF в функции ByteArray.getBytes(). Однако он приводит не к появлению "белиберды", которую Вы описываете, а к исключительной ситуации на уровне Flash Player-а.
PM MAIL   Вверх
seth
Дата 12.12.2007, 13:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



мм та же проблема - с БД все ок 
 в примере AntonioBanderaz так и не догнал где там используется URLEncode  smile 


--------------------
PM MAIL   Вверх
seth
Дата 12.12.2007, 23:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Вобщем походу флекс не устанавливать контент-тайп - т.е. его надо вручную ставить 
Код

request.setContentType("utf-8");



--------------------
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Flex | Следующая тема »


 




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


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

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