![]() |
Umlaute in HTML konforme Texte konvertieren
Hallo.
Habe zwar gesucht, das Richtige war aber irgendwie nicht dabei (oder ich sollte schleunigst in's Bett 8-). Gibt es eine Delphi-Routine, mit der ich einen String, der Umlaute enthält, in's HTML-Derivat umwandeln kann? Also z.B. "Änderung" in "Änderung"? In der HTTPApp-Unit gibt's zwar eine Routine, die das macht, allerdings nur teilweise für Sonderzeichen und nicht direkt für Umlaute. Danke & Gruß, - kaju |
Re: Umlaute in HTML konforme Texte konvertieren
Ich würde das selbst via StringReplace machen. Muss auch zugeben, dass ich keine andere Methode kenne, die das machen würde :mrgreen:
|
Re: Umlaute in HTML konforme Texte konvertieren
Hallo.
Danke...das wäre natürlich die Alternativ...dachte, vielleicht gibt's mittlerweile auch was "natives", das ich noch nicht kenne...8-) Lieben Gruß, - kaju |
Re: Umlaute in HTML konforme Texte konvertieren
Nur eine spontane Idee:
Delphi-Quellcode:
function Umlaute2HTML(const Text: string): string;
var strStream: TStringStream; i: integer; begin strStream := TStringStream.Create(''); try for i := 1 to Length(Text) do case Text[i] of 'ä': strStream.Write('ä',6); 'Ä': strStream.Write('Ä',6); 'ö': strStream.Write('ö',6); 'Ö': strStream.Write('Ö',6); 'ü': strStream.Write('ü',6); 'Ü': strStream.Write('Ü',6); else strStream.Write(Text[i],1); end; Result := strStream.DataString; finally strStream.Free; end; end; |
Re: Umlaute in HTML konforme Texte konvertieren
Danke...dann werde ich das erstmal so nehmen...
Lieben Gruß, - kaju |
Re: Umlaute in HTML konforme Texte konvertieren
Denke aber daran, dass es da weitaus mehr gibt. Bei normalem Text wären evtl. ß (= ß), & (= &), < (= <), > (= >) und € (= €) noch sinnvoll.
Die anderen Sonderzeichen wie © (= ©) & Co. werden in normalen Text wohl nicht vorhanden sein. |
Re: Umlaute in HTML konforme Texte konvertieren
Ja danke...da das für ein "internes" Tool ist, weiß ich, das solche Zeichen nicht vorkommen...deshalb ja auch die Frage, ob's da nicht was fertiges (von Delphi) gibt, das dann auch schön alles unterstützt....
Lieben Gruß, - kaju |
Re: Umlaute in HTML konforme Texte konvertieren
warum nicht mit UTF8encoding den entsprechenden String erstellen?
Dieses "Schlabbern" von Zeichen führt früher oder später zu Ärger und dann sucht man sich einen Wolf weil bisher doch alles so wunderbar funktionierte. Gruß K-H |
Re: Umlaute in HTML konforme Texte konvertieren
Blöde Frage, aber wie soll das gehen?
Gruß, - kaju |
Re: Umlaute in HTML konforme Texte konvertieren
entschuldige, ich hatte mich vergaloppiert, UTF8Encode ist natürlich nicht Deine Lösung.
Gruß K-H edit: hilft Dir das vllt. weiter:
Delphi-Quellcode:
if length(ins)>0 then
for i:=1 to length(ins) do if ord(ins[i])<128 then begin { ist ASCII-Zeichen } if ord(ins[i])>$2F then begin case ins[i] of { noch ein paar Sonderzeichen } ':' : dumm:='&#'+inttostr(ord(ins[i]))+';'; ';' : dumm:='&#'+inttostr(ord(ins[i]))+';'; '<' : dumm:='&#'+inttostr(ord(ins[i]))+';'; '=' : dumm:='&#'+inttostr(ord(ins[i]))+';'; '>' : dumm:='&#'+inttostr(ord(ins[i]))+';'; '?' : dumm:='&#'+inttostr(ord(ins[i]))+';'; else dumm:=ins[i]; end;{case-------------------------------} dummy:=dummy+dumm; end else begin { ist ASCII-Sonderzeichen } dumm:='&#'+inttostr(ord(ins[i]))+';'; dummy:=dummy+dumm; end end {---- 7-Bit Zeichen} else begin {ist 8Bit Zeichen } dumm:='&#'+inttostr(ord(ins[i]))+';'; dummy:=dummy+dumm; end; |
Re: Umlaute in HTML konforme Texte konvertieren
Sorry - das ist doch Müll, da steht immer "dumm:='&#'+inttostr(ord(ins[i]))+';'; ".
Zur Ausgangsfrage: die unit JvStrToHtml (denke von JCL ![]() |
Re: Umlaute in HTML konforme Texte konvertieren
Jupp, mehrfacher Code ist nicht schön:
Hier eine Übersetzungshilfe: links das Zeichen und in der Mitte der HTML-"Code" ![]() PS: ![]() ![]() ![]() usw. |
Re: Umlaute in HTML konforme Texte konvertieren
Zitat:
Den HTML Code kann man auch mit TXMLDocument und Co. erzeugen, und als XHTML deklarieren, dann muss man sich auch keine Sorgen um < > und & mehr machen... |
Re: Umlaute in HTML konforme Texte konvertieren
Dennoch sollten Steuerzeichen richtig codiert sein!
Code:
" = "
& = & < = < > = > |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:25 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