Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Umlaute (https://www.delphipraxis.net/139289-umlaute.html)

kingmarv 26. Aug 2009 09:43


Umlaute
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hi

Ich habe Probleme mit Umlauten, da er diese scheinbar nicht richtig erkennt. Wir kann ich das Problem lösen ohne alle Ü,Ä,Ö ´s in Ue, Oe, und Ae umzuändern.?

Ich habe ein PHP script geschrieben der Strings in einer Textdatei erstellt ( ipinfo.txt ).
Ein String dieser Datei sieht folgendermaßen aus:

spieltag=4|nachname=Jütten|vorname=Detlef|tippstri ng=bochum6gegner6;dortmund4gegner0;schalke3gegner2 ;leverkusen4gegner2;

Dann habe ich in meinen Programm einen Button so belegt, das er die ipinfo.txt aus dem Inet runterläd, die enthaltenen Strings nacheinander abarbeitet und guckt ob der Vor/Nachname aus dem String mit einen Eintrag bei mir in der DBGrid übereinstimmt und fügt dann den "Tippstring" dem zugehörigen Namen hinzu.
Sinn des ganzen ist: Das man über das PHP script Bundesliga ergebnisse Tippen kann, das Programm ruft die ab verwaltet die und wertet die Tipps aus und verteilt Punkte.

Mein Code sieht so aus, evt kann wer damit mehr anfangen als mit meiner Beschreibenung;)

Delphi-Quellcode:

procedure TForm1.Button4Click(Sender: TObject);
var
s:string;
list:tstringlist;
rs: TFileStream;
i:integer;
begin



 List:=TStringlist.create;
rs := TFileStream.Create('ipinfo.txt', fmcreate or fmShareCompat);
IdHTTP1.Get('http://bltippspiel.spacequadrat.de/ipinfo.txt', rs);
IdHTTP1.Disconnect;
rs.free;
List.LoadFromFile('ipinfo.txt');


 for i:=0 to list.Count -1 do begin

  Table1.DisableControls;
  Table1.first;
 while not Table1.eof do begin

 if (((Table1.FieldByName('Vorname').AsString) = (format(getstring(list.strings[i],ssVorname)))) and((Table1.FieldByName('Nachname').AsString) = (format(getstring(list.strings[i],ssNachname))))) then begin
 //showmessage(inttostr(Table1.RecNo));
 table1.edit;
 Table1.FieldByName(format(getstring(list.strings[i],ssSpieltag))).AsString:=(format(getstring(list.strings[i],ssTippstring)));
   end;
   table1.next
  end;
  Table1.EnableControls;
   end;

 List.free;

end;
Das ganze klappt soweit auch, bis auf bei Umlauten z.B

so sieht der String aus: http://bltippspiel.spacequadrat.de/ipinfo.txt

So der Code aus meiner Forumlar HTML:
Delphi-Quellcode:
   <option value="Jütten|Detlef|">Jütten D.</option>
So sieht der Eintrag in meiner DBGRid aus:

@ Anhang

Also jetzt nochmal meine Frage was muss ich machen damit er die Umlaute erkennt. Wie gesagt bei Namen ohne Umlaute klappt alles Einwandfrei.


EDIT!!!!!!

Habe gerade gesehen das das Problem an dem String liegt der erstellt wird über PHP/HTML.

Der Sieht nämlich so aus:

spieltag=4|nachname=Jütten|vorname=Detlef|tipp string=bochum6gegner6;dortmund4gegner0;schalke3geg ner2;leverkusen4gegner2;

Ist wohl eher ne PHP/HTML frage aber evt kann sie jemand beantworten ?


Hab es in PHP mit utf8_decode(); gelöst falls es wen interessiert.

Danke trotzdem kann geclosed werden :)

Bernhard Geyer 26. Aug 2009 09:47

Re: Umlaute
 
Die Datei ist UTF8-Codiert. Du muß bei alten Delphi-Versionen selbst bei verwendung von TStringlist dafür sorgen das eine UTF8 De/Encodierung erfolgt. Hierfür gibt es seit D6 UTF8Decode und UTF8Encode.

kingmarv 26. Aug 2009 09:55

Re: Umlaute
 
ja danke bernhard, bin dann selbst draufgekommen und hab es direkt in php gelöst.

trotzdem n ochmal danke für die schnelle antwort

Mithrandir 26. Aug 2009 09:58

Re: Umlaute
 
Kannste das Bild vielleicht aus dem Beitrag rausnehmen und in Anhang packen. Beim Lesen vertikal scrollen ist einfach nervig... ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:29 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz