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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.07.2011, 21:18   #1
cargo29
Форумчанин
 
Регистрация: 13.12.2010
Сообщений: 603
По умолчанию Изменить кодировку текста

Код HTML:


















<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
	<title>Utel - Отправка SMS - для частных клиентов - Тюменская область</title>
    <meta http-equiv=Content-Type content="text/html; charset=windows-1251"/>
    <meta http-equiv="Content-Language" content="ru"/>
    <meta name="Copyright" content=""/>
    <meta name="Author" content=""/>
    <meta name="filterId" content="1067"/>
    <meta name="regionId" content="1004"/>
    <meta name="documentId" content="502522"/>
    
    <meta name="documentDate" content="20090619"/>
    <meta http-equiv="Pragma" content="no-cache"/>
    <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate"/>
    <meta name="document-state" content="dynamic"/>

    <meta name="Description" content="Сервисы от макрорегиона «Урал» ОАО «Ростелеком» (бренд Utel): бесплатная отправка SMS и MMS, поиск по сайту.">

вот код начала страницы сайта, то есть кодировка получаеться windows-1251 пишу программу на делфи 2010 передаю текст на сайт приходит смс одни каракули, как сменить кодировку?
если надо будет выложу код программы... подскажите а то на 7 делфи нормально работает а на 2010 каракули приходят
cargo29 вне форума Ответить с цитированием
Старый 16.07.2011, 12:25   #2
cargo29
Форумчанин
 
Регистрация: 13.12.2010
Сообщений: 603
По умолчанию

Код:
var
  Form1: TForm1;
   ini:TIniFile;
  dir:string;
implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
ms: TMemoryStream; sl:TStringList; a:string;
begin
ms:=TMemoryStream.Create;
sl:=TStringList.Create;
getDir(0,dir);
Memo2.Text:=IdHTTP1.Get('http://tumen.u-tel.ru/facilities/sms');
Memo2.Text:= Copy(Memo2.Text, Pos('<h1>Отправка SMS', Memo2.Text), POS('Сервис и поддержка',Memo2.Text)-Pos('<h1>Отправка SMS', Memo2.Text));
code_capcha.Text:=Copy(Memo2.Text, Pos('Введите число с картинки',Memo2.Text), Pos('Отложить отправку SMS до', Memo2.Text)-Pos('Введите число с картинки',Memo2.Text));
code_capcha.Text:='http://tumen.u-tel.ru'+Copy(code_capcha.Text, pos('src="',code_capcha.Text)+5,Pos('" alt="captcha"',code_capcha.Text)-pos('src="',code_capcha.Text)-5);
IdHTTP1.Get(code_capcha.Text,ms);
ms.SaveToFile('capcha.jpg');
Image1.Picture.LoadFromFile('capcha.jpg');
ms.Free;
a:=Copy(Memo2.Text, Pos('<INPUT type="hidden" name="formSid" value="', Memo2.Text)+length('<INPUT type="hidden" name="formSid" value="'), Pos('<INPUT type="hidden" name="formS"',Memo2.Text)-Pos('<INPUT type="hidden" name="formSid" value="',Memo2.Text)-length('<INPUT type="hidden" name="formSid" value="')-5);
Edit1.Text:=IdHTTP1.Request.From;

end;

procedure TForm1.Button2Click(Sender: TObject);
var
sl:TStringList; a,b:AnsiString;
begin
b:=Memo1.Text;
a:=Copy(Memo2.Text, Pos('<INPUT type="hidden" name="formSid" value="', Memo2.Text)+length('<INPUT type="hidden" name="formSid" value="'), Pos('<INPUT type="hidden" name="formS"',Memo2.Text)-Pos('<INPUT type="hidden" name="formSid" value="',Memo2.Text)-length('<INPUT type="hidden" name="formSid" value="')-5);
sl:=TStringList.Create();
sl.Add('tebo=h');
sl.Add('action=ins');
sl.Add('mode=insSms');
sl.Add('delay_time=""');
sl.Add('phone_number='+nomer.Text);
sl.Add('formSid='+a);
sl.Add('formS=www1');
sl.Add('phone_post_number='+nomer.text);
sl.Add('message_text='+b);
sl.Add('confirm_code='+capcha.Text);
Memo3.Text:= IdHTTP1.Post('http://tumen.u-tel.ru/facilities/sms',sl);
sl.Free;
end;
cargo29 вне форума Ответить с цитированием
Старый 16.07.2011, 21:40   #3
bulldog5293
Форумчанин
 
Регистрация: 13.05.2010
Сообщений: 670
По умолчанию

просто это с версией дельфи связвнно
bulldog5293 вне форума Ответить с цитированием
Старый 17.07.2011, 05:50   #4
cargo29
Форумчанин
 
Регистрация: 13.12.2010
Сообщений: 603
По умолчанию

Цитата:
Сообщение от bulldog5293 Посмотреть сообщение
просто это с версией дельфи связвнно
и ни как не изменить?
cargo29 вне форума Ответить с цитированием
Старый 17.07.2011, 05:56   #5
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Гуглить справочник:
UTF8to
ANSIto
UnicodeTo
Wide..To
Человек_Борща вне форума Ответить с цитированием
Старый 17.07.2011, 19:14   #6
cargo29
Форумчанин
 
Регистрация: 13.12.2010
Сообщений: 603
По умолчанию

Цитата:
Сообщение от Человек_Борща Посмотреть сообщение
Гуглить справочник:
UTF8to
ANSIto
UnicodeTo
Wide..To
Может быть такое что сама делфи кривая? потому что пробовал

utf8toansi
ansitoutf8
unicodetoutf8
utf8encode
UTF8ToWideString
utf8tostring

это все не помогает ((( уже не знаю что делать
cargo29 вне форума Ответить с цитированием
Старый 17.07.2011, 22:04   #7
bulldog5293
Форумчанин
 
Регистрация: 13.05.2010
Сообщений: 670
По умолчанию

сталкивался с таким же трабом, но так и не решил, правда задача дугая стояла, это кодировки в самой версии дельфи изменили, а мы теперь мучаемся
bulldog5293 вне форума Ответить с цитированием
Старый 18.07.2011, 00:10   #8
cargo29
Форумчанин
 
Регистрация: 13.12.2010
Сообщений: 603
По умолчанию

Цитата:
Сообщение от bulldog5293 Посмотреть сообщение
сталкивался с таким же трабом, но так и не решил, правда задача дугая стояла, это кодировки в самой версии дельфи изменили, а мы теперь мучаемся
Вот и я не знаю как сделать то ли люди сами тут не знают то ли не хотят говорить
cargo29 вне форума Ответить с цитированием
Старый 18.07.2011, 04:38   #9
kangreon
Форумчанин
 
Аватар для kangreon
 
Регистрация: 03.04.2009
Сообщений: 305
По умолчанию

Попробуйте сделать так:
Код:
  
  IdHTTP1.HTTPOptions := []; 
  SMSMessage := 'Привет';
  SMSMessage := URLEncode(SMSMessage);
  sl.Text := 'text=' + SMSMessage;
  IdHTTP1.Post('http ...
Реализация URLEncode:
Код:
function URLEncode(const S: string): string;
var
  Idx: Integer;
begin
  Result := '';
  for Idx := 1 to Length(S) do
  begin
    if S[Idx] in ['A'..'Z', 'a'..'z', '0'..'9', '-', '=', '&', ':', '/', '?', ';', '_', '.'] then
        Result := Result + S[Idx]
    else
      Result := Result + '%' + IntToHex(Ord(S[Idx]), 2);
  end;
end;
kangreon вне форума Ответить с цитированием
Старый 21.07.2011, 13:46   #10
cargo29
Форумчанин
 
Регистрация: 13.12.2010
Сообщений: 603
По умолчанию

приходят только % и цифры

вот скрин

вывожу в мемо текст при отправке что бы сразу посмотреть
Изображения
Тип файла: jpg Безымянный.JPG (68.0 Кб, 132 просмотров)
cargo29 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как изменить кодировку в базе данных? pufystyj PHP 1 14.03.2011 09:16
Как изменить размер выделеного текста в twebbrowser правильно pervii Мультимедиа в Delphi 0 08.02.2010 09:09
Как изменить цвет текста всех компонентов на форме s2dentishe Помощь студентам 2 09.01.2010 17:29
Помогите с написанием макроса для Word,который преобразует кодировку текста из указанной в указанную Сотников Роман Помощь студентам 6 30.05.2009 18:34
Как изменить цвет текста на всей строке в RichEdit, если строка содержит определенное слово?? IIpopoK Общие вопросы Delphi 0 22.06.2008 07:57