![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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