Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: TIdMultiPartFormDataStream на постит русский при построении post запроса  (Прочитано 8029 раз)
0 Пользователей и 1 Гость смотрят эту тему.
maloy_ya
Участник

ua
Offline Offline
Пол: Мужской

« : 18-04-2011 16:41 » 

доброго времени суток!!столкнулся с проблемой русского языка при post запросе используя tidmultipartformdatastream!!формиру ю вот так:

Код:

 multi.AddFormField ('orfo','Русский язык');
 multi.AddFormField ('Tags','');
 multi.AddFormField ('MoodText','');
 multi.AddFormField ('MoodID','0');

а когда поститься то вместо надписи "русский язык" - получаю кракозяблы
 а если http.HTTPOptions:=[] установить по получаю кучу вопросиков вместо сиволов!

 сервер работает в windows-1251!
 никто не сталкивался с такой проблемой???

« Последнее редактирование: 18-04-2011 17:00 от RXL » Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 18-04-2011 17:01 » 

Используй base-64 кодирование и укажи в заголовке запроса кодировку "windows-1251".
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
maloy_ya
Участник

ua
Offline Offline
Пол: Мужской

« Ответ #2 : 18-04-2011 17:05 » 

а можно немного подробнее как указать и как использовать base-64 кодирование??
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #3 : 19-04-2011 03:37 » 

Можно: F1
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
maloy_ya
Участник

ua
Offline Offline
Пол: Мужской

« Ответ #4 : 19-04-2011 17:56 » 

спасибо огромное за подсказду но к сожалению модуль хелпа по причине того что делфи дома ломанные не работает поэтому и прошу немного разъяснить ежели не трудно!!
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #5 : 19-04-2011 18:18 » 

AnsiString Base64Encode(AnsiString);

Я на BCB6 пишу.


За заголовками прошу таки почитать документацию: RFC2616
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
maloy_ya
Участник

ua
Offline Offline
Пол: Мужской

« Ответ #6 : 19-04-2011 18:22 » 

я понял спасибо за подсказку буду гуглить!!

Добавлено через 1 день, 2 часа, 19 минут и 35 секунд:
что та к сожалению немогу ничего нагуглить!может у кого нить еще какие-нибудь идеи есть??
« Последнее редактирование: 20-04-2011 20:42 от maloy_ya » Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #7 : 20-04-2011 20:55 » 

Какие идеи? Что гуглим то? RFC не можешь найти?
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
maloy_ya
Участник

ua
Offline Offline
Пол: Мужской

« Ответ #8 : 23-04-2011 19:29 » 

да делал я то что вы говорили и наверное я чего то все же недопонимаю! делал вот так:
Код:
bytes:= tencoding.Unicode.GetBytes(title);
temp:= encoder.EncodeBytes (bytes);
http.Request.AcceptCharSet:='windows-1251';
где
var
encoder:TIdEnCoderMIME;
bytes:Tbytes;
и получил крокозяблы: "JQBDAEQAJQBFADUAJQBFAEM"
« Последнее редактирование: 23-04-2011 19:39 от maloy_ya » Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines