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