![]() |
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; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:44 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