|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
IdHTTP1.Get кодировка в utf-8
С помощью IdHTTP1.Get передаю запрос:
http://api.smsfeedback.ru/messages/v2/send/?phone=%2B' + phonenomer + '&text=' + tekst параметр text должен быть utf-8 в результате на phonenomer приходит смс разумеется кирилица приходит крокозябрами, следующие варианты не помогли: Код:
var tekst :UTF8String; Код:
tekst:= AnsiToUtf8(Memo1.Lines.Text); Код:
tekst:= UTF8Encode(Memo1.Lines.Text); и даже Код:
uses ... IdURI; ................... tekst:= TIdURI.PathEncode(Memo1.Lines.Text); что самое интересное - при любых раскладах категорически не воспринимает пробел, хоть кирилицей набирать текст в мемо, хоть латиницей - прога зависает на Код:
Edit1.Text:= IdHTTP1.Get('http://api.smsfeedback.ru/mess ... подозреваю что дело в кодировке параметра Memo1.Lines.Text : String может быть как-то посимвольно перекодировать, только как? сообразить не могу Еще деталь - страница php в кодировке utf-8 без BOM отправляет сообщение без проблем Последний раз редактировалось Помидоркин, 26.04.2013 в 23:52. |
#2
|
|||
|
|||
Код:
tekst:= AnsiToUtf8(Memo1.Lines.Text); Edit1.Text:= IdHTTP1.Get(PChar('http://api.smsfeedback.ru/mess ... |
#3
|
||||
|
||||
Спасибо, но не помогло
пытаясь определить причину методом научного тыка, отправил два сообщения, плучилось так: отправленное сообщение, получено в смс http://www.delphisources.ru/forum/at...d=136706930 7 я так понимаю string - это массив символов char каждый из которых кодируется одним ИЛИ больше байтами, в данном случае, инди отправляет сайту последовательность char-ов, на каждый из которых выделено, например два байта, страница сайта считает что каждый байт это один символ, вот и получается что на каждый отправленный символ приходят два (глупость сморозил?) главное: использование инди вовсе не обязательно, какие еще есть варианты для дельфи 7? |
#4
|
|||
|
|||
Цитата:
Странно, если string в Delphi 7, то там один байт на символ. Если только в инди не стоит перекодировка через WideString, в чем я глубоко сомневаюсь. Ну попробуй Synapse. |
#5
|
||||
|
||||
Цитата:
|