Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.08.2012, 01:27   #1
Pter
 
Регистрация: 26.06.2012
Сообщений: 8
По умолчанию Idhttp.get и русские символы в запросе

Здравствуйте!
Сейчас я разрабатываю небольшую программку, которая использует api vk.com.
Необходимо послать гет запрос такого типа: https://api.vk.com/method/wall.post?...екст_сообщения
Собственно, запрос проходит, но если в сообщении присутствуют русские символы, оно принимает вид "?????".
Что можно сделать в такой ситуации?
Заранее спасибо.
Pter вне форума Ответить с цитированием
Старый 28.08.2012, 01:37   #2
Voody
Форумчанин
 
Регистрация: 22.06.2009
Сообщений: 310
По умолчанию

держите:

Код:
function UrlEncode(const s: AnsiString): string;
var
  I: integer;
begin
  Result := '';
  for i := 1 to Length(S) do
    case S[i] of
      '%', ' ', '&', '=', '@', '.', #13, #10, #128..#255: Result := Result + '%'
        + IntToHex(Ord(S[i]), 2);
    else
      Result := Result + S[i];
    end;
end;
использовать: URLEncode(ansitoutf8('текст'))
Voody вне форума Ответить с цитированием
Старый 28.08.2012, 10:24   #3
Pter
 
Регистрация: 26.06.2012
Сообщений: 8
По умолчанию

Цитата:
Сообщение от Voody Посмотреть сообщение
держите:

использовать: URLEncode(ansitoutf8('текст'))
Огромнейшее спасибо Вам, все прекрасно работает
Pter вне форума Ответить с цитированием
Старый 28.08.2012, 11:26   #4
Pter
 
Регистрация: 26.06.2012
Сообщений: 8
По умолчанию

Немного рано обрадовался: текст, который надо отправить на стенку, парсится со странички с кодировкой utf-8. И если отправлять спарсенный текст, то в результате получается что-то типа "Купонгид в отрыве! Оплаченный отпуск за ". А работает Ваш вариант при условии, что строку, которая будет отправляться, будут заполнять в программе.
Буду благодарен за помощь.
Pter вне форума Ответить с цитированием
Старый 28.08.2012, 11:31   #5
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,285
По умолчанию

Попробуйте убрать ansitoutf8().
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 28.08.2012, 12:11   #6
Pter
 
Регистрация: 26.06.2012
Сообщений: 8
По умолчанию

Цитата:
Сообщение от BDA Посмотреть сообщение
Попробуйте убрать ansitoutf8().
Это было первое, что я попробовал
Проблема оказалась немного не там, где я ее искал. Idhttp получает страничку, но у него как всегда проблемы с распознаванием русского текста. Тут я описывал ее, тогда у меня получилось решить ее, но сейчас то решение не подходит.
Pter вне форума Ответить с цитированием
Старый 28.08.2012, 12:44   #7
Voody
Форумчанин
 
Регистрация: 22.06.2009
Сообщений: 310
По умолчанию

del...........

Последний раз редактировалось Voody; 28.08.2012 в 12:52.
Voody вне форума Ответить с цитированием
Старый 28.08.2012, 16:37   #8
Voody
Форумчанин
 
Регистрация: 22.06.2009
Сообщений: 310
По умолчанию

Что за страница?
Попробуйте это же решение (получение русского текста) в конце обернуть еще в utf8decode, т.е.

Код:
setLength(c, length(s));
  IdHTTP1.Response.ContentStream.Read(c[1], length(s));
  //
  Memo1.Lines.Add(utf8decode(c));
Voody вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Русские буквы в \u символы J-Max Общие вопросы Delphi 4 01.07.2012 19:35
Русские символы в консоле pimple2006 Общие вопросы Delphi 2 16.12.2011 10:50
Notepad++ , русские символы, pascal arnold Паскаль, Turbo Pascal, PascalABC.NET 6 21.11.2011 02:17
Русские символы Akord Общие вопросы C/C++ 0 26.09.2010 11:17
Idhttp русские буквы KoBRaAndrey Работа с сетью в Delphi 4 17.08.2010 09:48