Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   HTML auslesen (https://www.delphipraxis.net/173599-html-auslesen.html)

greenmile 6. Mär 2013 16:00

HTML auslesen
 
Hallo,

ich lese automatisiert einige HTML Seiten aus und stolpere immer wieder über ein Umlaut Problem, z.B. ist im Text "\uuc3\u0192\u00c2\u00b6" für ö enthalten. Weiß jemand auf die Schnelle, um was für eine Notation es sich handelt und wie ich einen normalen Delphi String draus mache? Beispiel :https://groups.google.com/forum/?fro...pi/OAl8A6hup80

mjustin 6. Mär 2013 16:28

AW: HTML auslesen
 
Zitat:

Zitat von greenmile (Beitrag 1206184)
Hallo,

ich lese automatisiert einige HTML Seiten aus und stolpere immer wieder über ein Umlaut Problem, z.B. ist im Text "\uuc3\u0192\u00c2\u00b6" für ö enthalten. Weiß jemand auf die Schnelle, um was für eine Notation es sich handelt und wie ich einen normalen Delphi String draus mache? Beispiel :https://groups.google.com/forum/?fro...pi/OAl8A6hup80

In der angegebenen Seite geht es um JSON, daher nehme ich an, dass es sich um die JSON UTF-8 Notation handlet.

Das hat aber mit HTML nichts zu tun, die HTML Seite enthält einfach JSON Beispielcode.

greenmile 6. Mär 2013 16:43

AW: HTML auslesen
 
Die Seite war ein Beispiel ...

mjustin 6. Mär 2013 16:55

AW: HTML auslesen
 
Zitat:

Zitat von greenmile (Beitrag 1206197)
Die Seite war ein Beispiel ...

Es ist kein gültiges HTML Encoding, HTML 4.0 und neuer kennt als Notation nur &#[x][Nummer];, oder named entities. Wenn \\u00c3\\u00b3\\u00c3\\u00b0 in einer HTML Seite steht, dann muss das nicht dekodiert werden - es ist schon der darzustellende Text.

greenmile 6. Mär 2013 17:00

AW: HTML auslesen
 
Doch es muss decodiert werden (sonst würde ich hier ja nicht posten), weil sich darin dann Umlaute wie ö, ä usw. befinden, im IE werden die auch normal dargestellt. Folgender Source funktioniert leider nicht:

Uses ... DBXJSON;

Function CorrectName(Source: String): String;
var LJSONValue: TJSONValue;
begin
Result := Source;
LJSONValue := TJSONObject.ParseJSONValue(TEncoding.UTF8.GetBytes (Source),0);
If Assigned(LJSONValue) then Result := LJSONValue.ToString;
end;

LJSONValue ist immer Nil.

mjustin 6. Mär 2013 17:14

AW: HTML auslesen
 
Zitat:

Zitat von greenmile (Beitrag 1206206)
LJSONValue ist immer Nil.

Welcher Eingabewert ist es denn, der bei Aufruf mit der Funktion nil ergibt?


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:20 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