Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

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

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

icq: 1414351
По умолчанию

держите:

Код:
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
Репутация: 10
По умолчанию

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

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

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

icq: 438888048
По умолчанию

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

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

icq: 1414351
По умолчанию

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

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

icq: 1414351
По умолчанию

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

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

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

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


10:04.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.