AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi TIdTCPServer und -Client Umlaute ohne Punkte
Thema durchsuchen
Ansicht
Themen-Optionen

TIdTCPServer und -Client Umlaute ohne Punkte

Ein Thema von Meta777 · begonnen am 6. Sep 2009 · letzter Beitrag vom 16. Sep 2009
Antwort Antwort
Meta777

Registriert seit: 8. Sep 2004
Ort: Magdeburg
248 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

TIdTCPServer und -Client Umlaute ohne Punkte

  Alt 6. Sep 2009, 19:02
Hallo allerseits,

habe grad das Problem, dass mit 'ner aktuelleren Indy-Version - vom 29.07.2009 - die Umlaute ihre Punkte verlieren.
Es wird von einem TIdTCPClient ein String versendet, dem am Server die besagten Umlautpunkte fehlen. Muss "neuerdings" noch etwas "eingestellt" werden?
Ein "Auf-Gut-Glück"-Update möchte ich erstma vermeiden, nicht jedoch wenn mir einer sagen kann, das dieses Problem damit behoben ist

Shalom
  Mit Zitat antworten Zitat
Benutzerbild von Valle
Valle

Registriert seit: 26. Dez 2005
Ort: Karlsruhe
1.223 Beiträge
 
#2

Re: TIdTCPServer und -Client Umlaute ohne Punkte

  Alt 6. Sep 2009, 19:58
Heißt das, dass ein Ä zu einem A wird, ein ö zu einem o usw.? Das ist sehr eigenartig. Sind beide Programme (Client und Server) von dir programmiert? Beide mit der gleichen Delphi-Version (ist eine davon evtl. Delphi 2009)? Vielleicht zeigst du und mal einige Zeilen Code, die zum senden und empfangen der Daten dienen.

Mit freundlichen Grüßen,

Valle
Valentin Voigt
BOFH excuse #423: „It's not RFC-822 compliant.“
Mein total langweiliger Blog
  Mit Zitat antworten Zitat
Benutzerbild von XXcD
XXcD

Registriert seit: 19. Sep 2006
581 Beiträge
 
Delphi 2007 Professional
 
#3

Re: TIdTCPServer und -Client Umlaute ohne Punkte

  Alt 6. Sep 2009, 20:38
Falls du Delphi 2009 nutzt dann versuch das mal mit AnsiString anstatt string
  Mit Zitat antworten Zitat
Meta777

Registriert seit: 8. Sep 2004
Ort: Magdeburg
248 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

Re: TIdTCPServer und -Client Umlaute ohne Punkte

  Alt 16. Sep 2009, 21:59
Hallo,

danke für die antworten. ich habe mal etwas zeit gefunden mich wieder dem problem zuzuwenden...

@XXcD: Hatte erst Delphi 2009 benutzt, sind aber wieder auf Delphi 7 umgestiegen - jedoch wurde in diesem Zug auch die Indy geupdatet...
@Valle: korrekt ü -> u, Ä -> A usw. Beide von mir in Delphi 7 geschrieben.

Es hat was mit dem Indy update zu tun (Client und Server liefen vorher ohne diese Problem). Ich konnte auch die Sourcezeile lokalisieren. In der Unit IdGlobal Line 1555:

Delphi-Quellcode:
class function TIdTextEncoding.Convert(ASource, ADestination: TIdTextEncoding; const ABytes: TIdBytes): TIdBytes;
begin
  Result := ADestination.GetBytes(ASource.GetChars(ABytes));
end;
Der TIdTCPClient - genauer gesagt TIdTCPConnection - ruft diese function vor dem senden auf. So wird aus
78, 97, 109, 101, 61, 77, 252, 108, 108, 101, 114, ....
78, 97, 109, 101, 61, 77, 117, 108, 108, 101, 114, ....


Stack*:

TIdTextEncoding.Convert($7EA2E10,$7EA2DD0,(78, 97, 109, 101, 61, 77, 252, 108, 108, 101, 114, xxxxx))
ToBytes('Name=Müllerxxxxx'#$D#$A,-1,1,$7EA2DD0,$7EA2E10)
TIdIOHandler.Write('Name=Müllerxxxxx'#$D#$A,$7EA2D D0,$7EA2E10)
TIdIOHandler.WriteLn('Name=Müllerxxxxx',$7EA2DD0,$ 7EA2E10)
TIdIOHandler.WriteLnRFC('Name=Müllerxxxxx',$7EA2DD 0,$7EA2E10)
TIdIOHandler.WriteRFCStrings($6D36508,True,$7EA2DD 0,$7EA2E10)
TIdTCPConnection.WriteRFCStrings($6D36508)

*Name teilweise ge-xt ^^


Wie geht das mit den Encoding? Wo stellt man das ein?


Danke und Shalom
  Mit Zitat antworten Zitat
Meta777

Registriert seit: 8. Sep 2004
Ort: Magdeburg
248 Beiträge
 
Delphi 10 Seattle Enterprise
 
#5

Re: TIdTCPServer und -Client Umlaute ohne Punkte

  Alt 16. Sep 2009, 22:17
okay habs.

im IOHandler gibs das Property "DefStringEncoding", das per default auf ASCII (7Bit) steht. Dieses muss vor dem schreiben bzw. lesen entsprechend geändert werden.
In meinem Fall auf "en8Bit".

Be belessed
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:27 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz