Форум программистов, компьютерный форум, киберфорум
Delphi: Сети
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
0 / 0 / 0
Регистрация: 24.12.2015
Сообщений: 5
1

TIdHttp и Post в KOI8-Ru

24.12.2015, 14:47. Показов 1831. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Проблема следующая:
отправляю post запрос через TIdHttp, в Post-запросе файл c русским названием, где-то по пути ломается название.

было: Тgffgекстовка.txt
стало: =?KOI8-R?B?9GdmZmfFy9PUz9fLwS50eHQ=?=

результат Http Analizer

----------122415134445042
Content-Disposition: form-data; name="document_type"
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable

8
----------122415134445042
Content-Disposition: form-data; name="document_file"; filename="=?KOI8-R?B?9GdmZmfFy9PUz9fLwS50eHQ=?="
Content-Type: application/octet-stream;
Content-Transfer-Encoding: binary

??????N????µ??N??°N???N?

----------122415134445042--

Часть процедуры отправки файла в сеть
Delphi
1
2
3
4
5
6
7
    lHTTP.Request.CustomHeaders.AddValue('X-CSRFToken', SERVEREXPLORER.IdCookieManager1.CookieCollection.Items[0].Value);
    lHTTP.Request.AcceptEncoding:='gzip, deflate';
    lHTTP.Request.AcceptCharSet:='utf-8';
    lHTTP.Response.ContentType := 'text/json; charset=utf-8';
    data.AddFormField('document_type', FileType, 'utf-8');
    data.AddFile('document_file', Тgffgекстовка.txt, 'application/octet-stream;');
    lHTTP.Post(aURL, data);
Вопрос, как сделать так, чтобы название файла не ломалось, а оставалось в юникоде.

Сервер написан на Django.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.12.2015, 14:47
Ответы с готовыми решениями:

TIdHTTP Post
Добрый день, немного тривиальный вопрос. На сервер посылаю данные через Post запрос (компонент...

Кодировка KOI8
Поможете, кто-нибудь разбирается в этом? Какое количество памяти занимает строка (без кавычек)...

Кодировка KOI8-R
Всем привет. У меня проблема, я прописал в html файле <meta http-equiv="Content-Type"...

Кодировка koi8-r
Всем привет! поискал по всему интернету про кодировку koi8-r нашел кое-что про нее, но чем...

9
39 / 41 / 15
Регистрация: 24.10.2015
Сообщений: 598
24.12.2015, 16:48 2
Была аналогичная проблема, только я get забирал, в итоге отказался и забыл.
Потом видел решения, точно не припомню, но там суть такая что idhttp может сам перекодировать файлы автоматически, поищи в эту сторону
0
0 / 0 / 0
Регистрация: 24.12.2015
Сообщений: 5
24.12.2015, 18:07  [ТС] 3
Искал в эту сторону, продолжаю искать, но пока не могу найти. Смотрел процедуру addfile () и Post, Вроде бы все должно отправляться в юникоде. Однако где-то что-то ломается
0
39 / 41 / 15
Регистрация: 24.10.2015
Сообщений: 598
25.12.2015, 04:33 4
Тебе принципиальна кирилица в названии? Насколько я помню если отправлять латиницей проблем не возникнет.
0
0 / 0 / 0
Регистрация: 24.12.2015
Сообщений: 5
25.12.2015, 04:55  [ТС] 5
К сожалению принципиально. Программа должна отправлять файлы с любыми именами
0
17 / 17 / 4
Регистрация: 20.08.2010
Сообщений: 128
25.12.2015, 16:40 6
UTF8 to ANSI
Или не помогает?
0
Пишу на Delphi...иногда
1423 / 1278 / 286
Регистрация: 03.12.2012
Сообщений: 3,914
Записей в блоге: 5
25.12.2015, 16:44 7
для передачи кирилицы используйте декодеры
urlencode, HTTPEncode etc
0
0 / 0 / 0
Регистрация: 24.12.2015
Сообщений: 5
28.12.2015, 14:01  [ТС] 8
Uf8to Ansi не помогает, urlencode - тоже не помогает.запрос идет правильно, ломается только имя файла (которое перекодируется в КОI8-RU, но отправляется в юникоде)

Добавлено через 14 минут
Uf8to Ansi не помогает, urlencode - тоже не помогает.
запрос идет правильно в Unicode, ломается только имя файла (которое непонятно где и как перекодируется).

вот пример отправки файла

на сервер приходит это:

=?KOI8-R?B?9GdmZmfFy9PUz9fLwS50eHQ=?= - кодировка UTF8

через http://www.online-decoder.com/ru мы определяем вот это

Тgffgекстовка.txt - кодировка KOI8-Ru
0
0 / 0 / 0
Регистрация: 24.12.2015
Сообщений: 5
28.12.2015, 14:31  [ТС] 9
вот то что показывает HTTP Analizer
Миниатюры
TIdHttp и Post в KOI8-Ru  
0
17 / 15 / 8
Регистрация: 26.04.2016
Сообщений: 38
19.07.2018, 12:17 10
Недавно столкнулся с этой проблемой. Вот решение:

Delphi
1
2
3
fdf := f.AddFile('file_name', 'русскийФайл.png','multipart/form-data');
fdf.HeaderEncoding := '8';
fdf.HeaderCharSet := IdCharsetNames[idcs_UTF_8];
Добавлено через 10 минут
если будет ругаться на idcs_UTF_8 либо на IdCharsetNames - нужно добавить в uses модуль IdCharsets
1
19.07.2018, 12:17
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.07.2018, 12:17
Помогаю со студенческими работами здесь

Idhttp - Кодировка KOI8-R
Доброе утро. Возникли проблемы по поводу получение кода с сайта в кодировке KOI-8R, через get...

Перекодировка из UTF-8 в KOI8
Проблема... Нигде не нашел... Сервис на меня отправляет постом сообщение в UTF8 Мне его нужно...

PhpDesigner 8 - KOI8-U CP1166 ?
Прошу помочь решить проблему над которой бьюсь 2-ю неделю. Суть: при вводе в поле созданной формы...

Кодировка koi8-r в питоне
Написал скрипт, залил на север(ос debian, стандартная кодировка koi8-r). И при попытке запуске...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru