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

Reply via email to