Привет Всем!
При работе с ClientSocket (получение html-страницы) соединение проходит, данные получаю, но при выводе в TMemo отображаются одни иероглифы типа "楬正∽⡣桴獩ㄬⰷ〱㈸∩慶畬㵥퀢.....", при этом в заголовке формы тоже появляется строка иероглифов... При обмене данными между ClientSocket и ServerSocket тоже самое при выводе в TEdit. Похоже, что передается в юникоде. Среда разработки CodeGear Delphi 2009.
Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ScktComp, StdCtrls, ComCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
ClientSocket1: TClientSocket;
Memo1: TMemo;
procedure Button1Click(Sender: TObject);
procedure ClientSocket1Error(Sender: TObject; Socket: TCustomWinSocket;
ErrorEvent: TErrorEvent; var ErrorCode: Integer);
procedure ClientSocket1Write(Sender: TObject; Socket: TCustomWinSocket);
procedure ClientSocket1Read(Sender: TObject; Socket: TCustomWinSocket);
procedure ClientSocket1Disconnect(Sender: TObject;
Socket: TCustomWinSocket);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
text: string;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
ClientSocket1.Active:=true;
end;
procedure TForm1.ClientSocket1Disconnect(Sender: TObject;
Socket: TCustomWinSocket);
begin
memo1.Lines.Add(text);
end;
procedure TForm1.ClientSocket1Error(Sender: TObject; Socket: TCustomWinSocket;
ErrorEvent: TErrorEvent; var ErrorCode: Integer);
begin
ErrorCode:=0;
end;
procedure TForm1.ClientSocket1Read(Sender: TObject; Socket: TCustomWinSocket);
begin
text:=Socket.ReceiveText;
end;
procedure TForm1.ClientSocket1Write(Sender: TObject; Socket: TCustomWinSocket);
begin
Socket.SendText('GET '+'/index.html'+' HTTP/1.0'#10#10);
end;
end.
Как можно передать и получить текстовую информацию в "нормальном" виде???