Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

TIdMultiPartFormDataStream и русский текст


Foma ©   (2011-08-02 18:48:00) 

Data := TIdMultiPartFormDataStream.Create;
Data.AddFormField('loginololo','йцукенгшщзхъ');

Delphi 2010, Win7

Русский текст передается в виде "??????"
Кодировка на серве utf-8
Вообще потерялся, перелопатил гугл, на античате тоже помощи нет, надеюсь на вас


  (2011-08-11 13:05:00) [1]

Удалено модератором


  (2011-08-10 19:26:00) [2]

Удалено модератором


foma1   (2011-08-09 08:33:00) [3]

Что. теперь предлагаете через сокеты отправлять?


DVM   (2011-08-08 18:13:00) [4]


> У меня обычно помогает добавить TIdTextEncoding.Default,
>  что бы русские буквы через сокеты проползали вместо вопросов,
>  уже в нескольких местах индю правил:
>
> >FRecvData := FClient.IOHandler.ReadLn(TIdTextEncoding.Default);
>

Имхо, если и клиент и сервер свой, то лучше слать как бинарные данные (стримы) и использовать UTF8 внутри.


foma   (2011-08-08 16:35:00) [5]

Удалено модератором
Примечание: Мат и заслуженый отдых


Anatoly Podgoretsky   (2011-08-08 13:23:00) [6]

> Дмитрий Белькевич  (08.08.2011 12:39:14)  [14]

Не возня, а облегчение.


Дмитрий Белькевич   (2011-08-08 12:39:00) [7]


> И охота тебе с генофондом трахаться, бессмысленная работа.


Не охота, а что делать? На другой генефонд переползать? Тоже возня...


Anatoly Podgoretsky   (2011-08-08 12:02:00) [8]

> Дмитрий Белькевич  (08.08.2011 11:52:11)  [11]

И охота тебе с генофондом трахаться, бессмысленная работа.


Дмитрий Белькевич   (2011-08-08 11:55:00) [9]


 Result := AContext.Connection.IOHandler.ReadLn(TIdTextEncoding.Default);


в IdLogBase:


   //s := BytesToStringRaw(ABuffer);
   s := TIdTextEncoding.Default.GetString(ABuffer);


Дмитрий Белькевич   (2011-08-08 11:52:00) [10]

У меня обычно помогает добавить TIdTextEncoding.Default, что бы русские буквы через сокеты проползали вместо вопросов, уже в нескольких местах индю правил:

>FRecvData := FClient.IOHandler.ReadLn(TIdTextEncoding.Default);


Anatoly Podgoretsky   (2011-08-08 10:20:00) [11]


> вместо этого используйте AnsiToUtf8

Глупости, для Д2010


sniknik   (2011-08-08 09:30:00) [12]

> все правльно сделал?
если сделал именно то что написал то ты ничего не сделал...

(или там в инициализации модуля перекрывается стандартный стрим? или же с тем же названием объект и модуль в uses после оригинального стоит?)

> Это же раздел для новичков
новичок он типа начинающий программист, учится, а не копипастит бездумно.


Kilkennycat   (2011-08-08 08:50:00) [13]


> Это же раздел для новичков,

да, но "новичек" не значит "даун".


> это я уже пробовл не раз, ничего не получилось

ну так надо было сразу это написать...
http://segfault.kiev.ua/smart-questions-ru.html#beprecise


foma   (2011-08-08 08:01:00) [14]

Kilkennycat

Слушай, уважаемый, почему у тебя такой бугурт?
Это же раздел для новичков, это я уже пробовл не раз, ничего не получилось

~AQUARIUS~
Спасибо, я открыл ее вместе с проектом и скомпилил, все правльно сделал?


~AQUARIUS~   (2011-08-07 22:19:00) [15]

К ссылке лишнее приклеилось: http://moydisk.com/file/35082/


~AQUARIUS~   (2011-08-07 22:17:00) [16]

Минимально кода - ровно то что мне было нужно: http://moydisk.com/file/35082/Насервере с которым я работал была Windows-1251, поэтому там повсюду просто приведен тип к AnsiString. Если у вас на сервере utf-8, то вместо этого используйте AnsiToUtf8


Kilkennycat   (2011-08-07 16:56:00) [17]

AnsiToUtf8

ну теперь еще спроси как ее пользовать.


foma   (2011-08-07 16:03:00) [18]

~AQUARIUS~ ,
Поделитесь стримом :3
kilkennycat
Ну так как?


~AQUARIUS~   (2011-08-06 21:03:00) [19]

У меня такое было, даже вопрос на КД задавал. Это баг Инди, он там что-то мудрит с кодировками. Советовали обновить Инди, это не помогло. В итоге, используя исходники TIdMultiPartFormDataStream создал свой стрим, который отправлял данные правильно


kilkennycat   (2011-08-06 11:19:00) [20]

ну так и передавай в кодировке утф8


Наверх

Титульная страница Поиск, карта сайта Написать письмо