Problem with Umlaut in basic Authentication

Hello,

I use the Sparkle Basic Authentication Middleware as described in the Sparkle Documentation. If a user had a German Umlaut in his Name (G.M?ller) I became a Error Message: "Keine Zuordnung f?r Unicode-Zeichen in der Multibyte-Zielcodeseite vorhanden"

How can I use it with German Umlaute in the Benutzername ? or is it not possible to use ?

Thx

Hello, are you using XE6? If yes, please contact us directly (info@tmssoftware.com) so I can send you a last-minuted patch that fixes the problem.

Hello, we are using Delphi 10.1 Berlin with Update 1

Can you please provide more details about how you are using it and where exactly you are setting the umlauted word? We reviewed our tests here and it's working (at least the way we're doing).

Hello,

I use it this way:

var
   LXDataClient : TXDataClient;

...

            LXDataClient := TXDataClient.Create;
            try

              LXDataClient.Uri := const_uri; // our Serveradress

              LXDataClient.UserName := ClientBenutzerName;  // = A.M?ller
              LXDataClient.Password := ClientPasswort;

              lAnlagen := LXDataClient.Get<TANLAGEN>(fAnlID);

...


I'm sorry, but still, "no luck": it works here. Here is the test code I used at client and server side (two different server side code):


Client:


  XClient.Uri := BasicAuthServerUrl;
  XClient.UserName := 'Müller';
  XClient.Password := 'test123';


Server (First version):


  Module.UserName := 'Müller';
  Module.Password := 'test123';


Server (Second version):


  Module.AddMiddleware(TBasicAuthMiddleware.Create(
    procedure(const UserName, Password: string; var User: IUserIdentity)
    begin
      if (UserName = 'Müller') and (Password = 'test123') then
        User := TUserIdentity.Create
      else
        User := nil;
    end
  ));
  Module.AddMiddleware(TAnonymousMiddleware.Create(
    procedure(C: THttpServerContext; Next: THttpServerProc)
    begin
      if C.Request.User = nil then
        C.Response.StatusCode := 401
      else
        Next(C);
    end
  ));