AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Umlaute-Problem mit idHTTP.Get (Indy) => ö und Co.
Thema durchsuchen
Ansicht
Themen-Optionen

Umlaute-Problem mit idHTTP.Get (Indy) => ö und Co.

Ein Thema von MCXSC · begonnen am 30. Mär 2008 · letzter Beitrag vom 31. Mär 2008
Antwort Antwort
Seite 3 von 3     123   
MCXSC
(Gast)

n/a Beiträge
 
#21

Re: Umlaute-Problem mit idHTTP.Get (Indy) => ö und Co.

  Alt 30. Mär 2008, 23:26
Zitat von Bernhard Geyer:
Versteh ich jetzt nicht? Du suchst jetzt doch [i]-Elemente, oder doch nicht?
Ich suche nicht nach dem [i]-Element, sondern eher nach "Keine Ergebnisse". Das ich das [i]-Element noch mitsuche, hängt nur damit zusammen, dass es das einzige ist, es gibt sonst mehrere "Keine Ergebnisse". Ist ein wenig schwer zu erkären, aber damit du von deinem Element-Gesuche gedanklich wegkommst: Ich suche nur nach "Keine Ergebnisse".

Zitat von Bernhard Geyer:
Du werkelst doch ziemlich auf dem DOM des HTML-Dokumentes herum. Wieso sollte dann MSHTML und IHTMLDocument nicht brauchbar sein?
Nicht nur. Es war Zufall, dass mir jetzt wieder ein Element einfiel. Aber es wird z.B. auch nach "http://www.domain.de/weitereinfos.php?..." gesucht; ich lese eben die Daten der OFDb aus, und brauche, um die entsprechenden Daten zu finden, eben anhaltspunkte.

Zitat von Bernhard Geyer:
Übrigens. Das Design deiner Seite ist ja ziemlich Hip.
Sofern das "Hip" positiv gemeint ist: Danke.
  Mit Zitat antworten Zitat
MrKnogge

Registriert seit: 9. Jun 2003
Ort: Pforzheim
2.458 Beiträge
 
Delphi 2007 Professional
 
#22

Re: Umlaute-Problem mit idHTTP.Get (Indy) => ö und Co.

  Alt 30. Mär 2008, 23:39
Zitat von MCXSC:
Nein. Pos liefert mir "0" zurück, wenn er keine findet (dann eben Exit bzw. eine Messagebox).
hier machst du aber etwas anderes:
if Pos('[i]XXX[/i]', HTMLCode.Text) <> 0 then Exit dann muss es schon "= 0" heisen.
Christian Bootz
Einstein ist tot, Newton ist tot,
und mir ist auch schon ganz schlecht...
  Mit Zitat antworten Zitat
MCXSC
(Gast)

n/a Beiträge
 
#23

Re: Umlaute-Problem mit idHTTP.Get (Indy) => ö und Co.

  Alt 30. Mär 2008, 23:44
Zitat von MrKnogge:
hier machst du aber etwas anderes:
if Pos('[i]XXX[/i]', HTMLCode.Text) <> 0 then Exit dann muss es schon "= 0" heisen.
Wah, gut gut. Ich hab jetzt (während meiner Arbeit am Programm) kurz falsch rum gedacht. So wäre es aber richtig:

Delphi-Quellcode:
begin
  HTMLCode.Text := DownloadHTML('http://www.domain.de...');
  if Pos('[i]Keine Ergebnisse[/i]', HTMLCode.Text) <> 0 then ShowMessage('Es wurde kein Film auf OFDb.de gefunden!')
  else begin
    //...
  end;
end;
  Mit Zitat antworten Zitat
MrKnogge

Registriert seit: 9. Jun 2003
Ort: Pforzheim
2.458 Beiträge
 
Delphi 2007 Professional
 
#24

Re: Umlaute-Problem mit idHTTP.Get (Indy) => ö und Co.

  Alt 30. Mär 2008, 23:51
Alles klar, ok.

Aber wenn ein Listenindex das Maximum überschreitet, geht das imho nu, wenn man eben auch per index sich was aus der Stringlist rausfischt. Der Fehler kann also eigentlich nur in Zusammenhang mit HTMLCode[i] auftreten.
Christian Bootz
Einstein ist tot, Newton ist tot,
und mir ist auch schon ganz schlecht...
  Mit Zitat antworten Zitat
MCXSC
(Gast)

n/a Beiträge
 
#25

Re: Umlaute-Problem mit idHTTP.Get (Indy) => ö und Co.

  Alt 30. Mär 2008, 23:57
Ja, das stimmt. Ich weiß nun auch, wo der Fehler liegt oder eher lag:

Wenn UTF8toANSI nichts zu tun hat, so liefert es einen leeren String zurück. Da die Funktion bei der Übergabe von HTMLCode.Text wohl nur die erste Zeile "gescannt" hat (also HTMLCode[0]), und ab HTMLCode[1] nichts mehr gemacht hat, war eben dieses leer.

Ich habe es nun in etwa so gelöst, dass ich eine neue StringList erstellt habe, und jede Zeile von HTMLCode einzelnd durchlaufe und umwandel lasse, und diese Zeilen eben in der neuen Stringlist zusammensetzen lasse.
  Mit Zitat antworten Zitat
Ferdy2003

Registriert seit: 20. Jan 2006
26 Beiträge
 
#26

Re: Umlaute-Problem mit idHTTP.Get (Indy) => ö und Co.

  Alt 31. Mär 2008, 00:49
Hi,

mit PHP löse ich so ein Problem wie folgt:

$bad_char=array("ä","ö","ü","Ä","Ö","Ü","ß" );
$right=array('ä','ö','ü','Ä','Ö','Ü','ß');
$text=str_replace($bad_char,$right,$row["beschreibung"]);
$text = htmlentities($text);

d.h. ich ersetze in dem String einfach die falschen ($bad_char) durch die richtigen ($right) ich denke das ist auch mit Delphi möglich.
?\_/
.O.o
This is Einkaufswagen. Copy Einkaufswagen into your signature to help him on his way to world domination.
  Mit Zitat antworten Zitat
MCXSC
(Gast)

n/a Beiträge
 
#27

Re: Umlaute-Problem mit idHTTP.Get (Indy) => ö und Co.

  Alt 31. Mär 2008, 00:57
Zitat von Ferdy2003:
mit PHP löse ich so ein Problem wie folgt:

$bad_char=array("ä","ö","ü","Ä","Ö","Ü","ß" );
$right=array('ä','ö','ü','Ä','Ö','Ü','ß');
$text=str_replace($bad_char,$right,$row["beschreibung"]);
$text = htmlentities($text);

d.h. ich ersetze in dem String einfach die falschen ($bad_char) durch die richtigen ($right) ich denke das ist auch mit Delphi möglich.
Es gibt nur für z.B. "ö" min. 2 Versionen - an die Idee hatte ich anfangs auch gedacht, aber ist eben (auch in PHP) unschön. Aber mit UTF8toAnsi hatte ich ja Erfolg - man muss dabei nur beachten, dass die Funktionen einen leeren String zurückgibt, wenn der String kein UTF8 ist.
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#28

Re: Umlaute-Problem mit idHTTP.Get (Indy) => ö und Co.

  Alt 31. Mär 2008, 08:18
Moin,

Zitat von MCXSC:
... Es gibt nur für z.B. "ö" min. 2 Versionen ... Aber mit UTF8toAnsi hatte ich ja Erfolg - man muss dabei nur beachten, dass die Funktionen einen leeren String zurückgibt, wenn der String kein UTF8 ist.
das solltest du nochmal ganz in Ruhe prüfen.

Und was das Analysieren von markup angeht: Jeder Text gehorcht einer mehr oder weniger komplexen Grammatik - und wenn es bereits einen Parser für die Grammatik gibt, dann bist du einfach nur gut beraten, wenn du ihn auch benutzt. Zugegeben, die OFDb-Seite ist kaum für eine programmgesteuerte Online-Abfrage geeignet, aber mit der richtigen Technik lässt sich da schon etwas machen - auch im Hinblick auf das nächste Redesign der web site, was ja bestimmt nicht ganz ausgeschlossen werden kann.

Nachdenkliche Grüße
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.196 Beiträge
 
Delphi 10.4 Sydney
 
#29

Re: Umlaute-Problem mit idHTTP.Get (Indy) => ö und Co.

  Alt 31. Mär 2008, 08:35
Zitat von MCXSC:
Es gibt nur für z.B. "ö" min. 2 Versionen
ö als benanntes Zeichen?
MSHTML (oder auch ein anderer HTML-Parser) würde dir auch dies abnehmen.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
MCXSC
(Gast)

n/a Beiträge
 
#30

Re: Umlaute-Problem mit idHTTP.Get (Indy) => ö und Co.

  Alt 31. Mär 2008, 21:45
Zitat von Bernhard Geyer:
Zitat von MCXSC:
Es gibt nur für z.B. "ö" min. 2 Versionen
ö als benanntes Zeichen?
MSHTML (oder auch ein anderer HTML-Parser) würde dir auch dies abnehmen.
Nochmals: Ich brauche KEINEN HTML-Parser, da dieser mir nicht Daten ausgeben kann. Jedenfalls nicht so, wie ich es brauche. Wenn irgendwo z.B. steht "Genre: xxx, yyy", dann parst er das nicht so, dass ich es einfach ausschneiden kann. Und das was du meinst ist kein UTF8.

Zitat von marabu:
Zitat von MCXSC:
... Es gibt nur für z.B. "ö" min. 2 Versionen ... Aber mit UTF8toAnsi hatte ich ja Erfolg - man muss dabei nur beachten, dass die Funktionen einen leeren String zurückgibt, wenn der String kein UTF8 ist.
das solltest du nochmal ganz in Ruhe prüfen.
Hmm, okay, da hatte ich mich wohl verschaut. Aber gut, denke mal (wie du sagtest?), ist das UTF8toAnsi sowieso besser, da schon vorhanden. Und es klappt ja.

Zitat von marabu:
Zugegeben, die OFDb-Seite ist kaum für eine programmgesteuerte Online-Abfrage geeignet, aber mit der richtigen Technik lässt sich da schon etwas machen - auch im Hinblick auf das nächste Redesign der web site, was ja bestimmt nicht ganz ausgeschlossen werden kann.
Najoa, aber eine Abfrage funktioniert ja. Was für eine Technik meinst du denn? OFDb bietet weder einen Zugang zur Datenbank, noch eine API o.ä., es bleibt also nur der HTML-Code.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


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 00:15 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