Имя: Пароль:
1C
 
8.2, HTTP-Соединение и кодировка URL-а
0 Gisborn
 
15.12.10
14:32
Необходимо получить текстовый файл.
В строке URL-а, по которому хранится файл, есть русские буквы.
В 8.1 прекрасно отрабатывал такой код:

// HTTP - HTTPСоединение
Адрес = "accsystem/get_account_info.cgi?DogovorN=Ф-44-314";
HTTP.Получить(Адрес, ВремКаталог + "\имяфайла.txt");

В 8.2 (8.2.13.202) работает не прекрасно.
Буква "Ф" передаваемая в урле неправильно принимается сервером (скрипт возвращает в том числе номер переданного договора), а точнее воспринимает параметр как "Р¤-44-314".
Насколько я понимаю, строка уходит в кодировке UTF8.

Вопрос: Как заставить HTTP соединение передать серверу url в кодировке windows-1251? Спасибо.
1 Всеяд
 
15.12.10
14:39
Лично я, после того, как попробовал несколько вариантов, решил, что проще попросить админа сервера, который запрашиваешь, переводить параметры в win1251 у себя на сервере.
Далеко не гуру в этом вопросе, правда.
2 Gisborn
 
15.12.10
14:46
(1) Спасибо. Тоже вариант. Но хотелось бы без привлечения третих лиц решить вопрос, если решение существует. ))
3 Gisborn
 
15.12.10
16:36
На основе http://www.intuit.ru/department/internet/htmlbasics/11/ сделал подмену русских букв - заработало.
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.