Arno Garrels wrote:
Maybe an overload that takes the code page suits better, since AnswerString is
virtual?
> Paul wrote:
>
>> It's mostly ascii characters, but sometimes, the string contains a
>> few unicode characters which can have different code pages for each
>> character. Since the ClientCnx.AnswerString is an AnsiString anyway,
>> I think the only choise is to convert them to UTF8.
>
> That's correct, however not possible with current THttpConnection.
> A small change should do the trick (untested):
>
> procedure AnswerString(var Flags : THttpGetFlag;
> const Status : String;
> const ContType : String;
> const Header : String;
> const Body : String
> {$IFDEF COMPILER12_UP};
> CodePage : Integer = CP_ACP
> {$ENDIF});
>
> procedure THttpConnection.AnswerString(
> var Flags : THttpGetFlag;
> const Status : String; { if empty, default to '200 OK'
> } const ContType : String; { if empty, default to 'text/html'
> } const Header : String; { Do not use Content-Length nor
> Content-Type } const Body : String { Could be empty. No
> default. } {$IFDEF COMPILER12_UP};
> CodePage : Integer = CP_ACP
> {$ENDIF});
> begin
> DocStream.Free;
> DocStream := TStringStream.Create(Body{$IFDEF COMPILER12_UP},
> CodePage{$ENDIF}); AnswerStream(Flags, Status, ContType, Header);
> end;
>
>
> {* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
> * * * *}
>
> Then call it with CodePage CP_UTF8 and ContType "Content-Type:
> text/html; charset=utf-8"
>
> Does it work?
>
> --
> Arno Garrels [TeamICS]
> http://www.overbyte.be/eng/overbyte/teamics.html
--
To unsubscribe or change your settings for TWSocket mailing list
please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be