Umlaute und Sonderzeichen

Xb2.Net von Boris Borzic

Moderator: Moderatoren

Antworten
Benutzeravatar
Rudolf
Programmier-Gott
Programmier-Gott
Beiträge: 1418
Registriert: Mo, 02. Jan 2006 23:03
Wohnort: Salzburg/Österreich
Kontaktdaten:

Umlaute und Sonderzeichen

Beitrag von Rudolf »

Hallo,
gibt es eine fertige Konvetierung fürs Web von Umlauten wie ich es z.B. mache ?
cRet := xatrepl("ä",cRet ,"ä")
Grüße
Rudolf
Benutzeravatar
HaPe
1000 working lines a day
1000 working lines a day
Beiträge: 995
Registriert: So, 15. Nov 2015 17:44
Wohnort: 71665 Vaihingen-Enz
Hat sich bedankt: 17 Mal
Danksagung erhalten: 15 Mal

Re: Umlaute und Sonderzeichen

Beitrag von HaPe »

Hallo Rudolf !
gibt es eine fertige Konvetierung fürs Web von Umlauten wie ich es z.B. mache ?
Was meinst du mit fertig bzw. was gefällt dir an deiner Funktion nicht?
--
Hans-Peter
Benutzeravatar
Rudolf
Programmier-Gott
Programmier-Gott
Beiträge: 1418
Registriert: Mo, 02. Jan 2006 23:03
Wohnort: Salzburg/Österreich
Kontaktdaten:

Re: Umlaute und Sonderzeichen

Beitrag von Rudolf »

Hallo Hans-Peter,
mir gefällt nicht dass ich vielleicht ein paar Zeichen übersehe ;-)
Grüße
Rudolf
Benutzeravatar
HaPe
1000 working lines a day
1000 working lines a day
Beiträge: 995
Registriert: So, 15. Nov 2015 17:44
Wohnort: 71665 Vaihingen-Enz
Hat sich bedankt: 17 Mal
Danksagung erhalten: 15 Mal

Re: Umlaute und Sonderzeichen

Beitrag von HaPe »

Hallo Rudolf !
mir gefällt nicht dass ich vielleicht ein paar Zeichen übersehe ;-)
OK, du suchst ein HtmlEncode 8)
--
Hans-Peter
Benutzeravatar
Rudolf
Programmier-Gott
Programmier-Gott
Beiträge: 1418
Registriert: Mo, 02. Jan 2006 23:03
Wohnort: Salzburg/Österreich
Kontaktdaten:

Re: Umlaute und Sonderzeichen

Beitrag von Rudolf »

Hallo, genau, aber finde nirgends eine fertige Funktion dafür in der alle ev. vorkommenden Zeichen berücksichtigt werden. Wenn ich ein Zeichen übersehe gibt es Problem im HTML und bei Scripts.
Grüße
Rudolf
Benutzeravatar
HaPe
1000 working lines a day
1000 working lines a day
Beiträge: 995
Registriert: So, 15. Nov 2015 17:44
Wohnort: 71665 Vaihingen-Enz
Hat sich bedankt: 17 Mal
Danksagung erhalten: 15 Mal

Re: Umlaute und Sonderzeichen

Beitrag von HaPe »

Hallo Rudolf !
genau, aber finde nirgends eine fertige Funktion dafür in der alle ev. vorkommenden Zeichen berücksichtigt werden.
Wenn du es nur für Windows-Plattformen benötigst könntest du die gleichnamige .NET-Funktion nutzen:
https://msdn.microsoft.com/de-de/librar ... .110).aspx
Ab .NET 1.1 ist die Funktion HtmlEncode verfügbar. Ich weiß aber (noch) nicht wie man von Xbase++ auf die .NET-Bibliotheken zugreift.
Zuletzt geändert von HaPe am Mo, 24. Apr 2017 10:35, insgesamt 1-mal geändert.
--
Hans-Peter
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: Umlaute und Sonderzeichen

Beitrag von Jan »

Mit 1.1 soll die aber noch fehlerhaft arbeiten, hat wohl Probleme mit Umlauten. Also wenn so, dann besser eine aktuellere Version nutzen.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Armin
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 389
Registriert: Mo, 26. Sep 2005 12:09
Wohnort: 75331 Engelsbrand
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Umlaute und Sonderzeichen

Beitrag von Armin »

Hallo Rudolf,

html alles mit utf8 - sollte auch gehen

Grüße, Armin
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: Umlaute und Sonderzeichen

Beitrag von Tom »

html alles mit utf8 - sollte auch gehen
Geht. Mache ich so. Ist zudem kompakter und einfacher zu lesen. Nur eben richtige Charset-Einstellungen im Header wählen.
Herzlich,
Tom
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16501
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: Umlaute und Sonderzeichen

Beitrag von Martin Altmann »

Einfacher zu lesen?
Hmm, ich finde ein ä selbsterklärender als ein ä

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Rudolf
Programmier-Gott
Programmier-Gott
Beiträge: 1418
Registriert: Mo, 02. Jan 2006 23:03
Wohnort: Salzburg/Österreich
Kontaktdaten:

Re: Umlaute und Sonderzeichen

Beitrag von Rudolf »

Hallo,
.NET ist mir zu kompliziert nur für diese Konvertierung, mir würde schon eine Tabelle genügen damit ich es selbst umsetzen kann. Ich versuche es mal mit UTF8.
Grüße
Rudolf
Benutzeravatar
Rudolf
Programmier-Gott
Programmier-Gott
Beiträge: 1418
Registriert: Mo, 02. Jan 2006 23:03
Wohnort: Salzburg/Österreich
Kontaktdaten:

Re: Umlaute und Sonderzeichen

Beitrag von Rudolf »

Hallo,
habe UTF-8 versucht, sollte eigentlich funktionieren, aber tut es nicht. Habe auch den Meta Tag zur Sicherheit gesetzt. Hab mit einem Online Konverter umgewandelt, das UTF-8 Resultat sollte passen.
http://www.cafewebmaster.com/online_tools/utf8_encode
Grüße
Rudolf
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Umlaute und Sonderzeichen

Beitrag von brandelh »

Sooo viele sind das doch gar nicht ...

https://wiki.selfhtml.org/wiki/Referenz ... C3.A4nzung

das nutze ich ... und bin platt, dass ich das auskommentiert habe :? :

Code: Alles auswählen

#define UseUTF8                    .f.
...
*-----------------------------------------------------------------------
FUNCTION Umlaut2Html(cTxt)             // Umlaute müssen in HTML spezialcodes umgesetzt werden.
   if UseUTF8
      cTxt := cAnsiToUtf8(cTxt)
   else
      /*
      cTxt := strTran(cTxt,"ä","ä")
      cTxt := strTran(cTxt,"ö","ö")
      cTxt := strTran(cTxt,"ü","ü")
      cTxt := strTran(cTxt,"Ä","Ä")
      cTxt := strTran(cTxt,"Ö","Ö")
      cTxt := strTran(cTxt,"Ü","Ü")
      cTxt := strTran(cTxt,"ß","ß")
      cTxt := strTran(cTxt,"²","²")
      cTxt := strTran(cTxt,"³","³")
      cTxt := strTran(cTxt,"°","°")
      cTxt := strTran(cTxt,"€","€")
      */
   endif
return cTxt       
Gruß
Hubert
Benutzeravatar
Rudolf
Programmier-Gott
Programmier-Gott
Beiträge: 1418
Registriert: Mo, 02. Jan 2006 23:03
Wohnort: Salzburg/Österreich
Kontaktdaten:

Re: Umlaute und Sonderzeichen

Beitrag von Rudolf »

Hallo Hubert,
genauso mache ich es auch, wie gesagt, ich hoffe dass ich keine Zeichen übersehen habe, bei einer fertigen Funktion könnte ich mir da sicher sein.
Grüße
Rudolf
Benutzeravatar
HaPe
1000 working lines a day
1000 working lines a day
Beiträge: 995
Registriert: So, 15. Nov 2015 17:44
Wohnort: 71665 Vaihingen-Enz
Hat sich bedankt: 17 Mal
Danksagung erhalten: 15 Mal

Re: Umlaute und Sonderzeichen

Beitrag von HaPe »

Da fehlt noch diese Umsetzung (für Worte im deutschen Sprachgebrauch):
lcString = STRTRAN( lcString, 'é', 'é' ) && é
für zb. Coupé oder Canapé
--
Hans-Peter
Benutzeravatar
Rudolf
Programmier-Gott
Programmier-Gott
Beiträge: 1418
Registriert: Mo, 02. Jan 2006 23:03
Wohnort: Salzburg/Österreich
Kontaktdaten:

Re: Umlaute und Sonderzeichen

Beitrag von Rudolf »

Hallo,
ich denke damit habe ich die meisten
Grüße
Rudolf

Code: Alles auswählen

if nMod = 0 // to web oem charset
     cRet  := strtran(cRet ,"&","&" )
     cRet  := strtran(cRet ,"ä","ä")
     cRet  := strtran(cRet ,"ö","ö")
     cRet  := strtran(cRet ,"ü","ü")
     cRet  := strtran(cRet ,"Ä","Ä")
     cRet  := strtran(cRet ,"Ö","Ö")
     cRet  := strtran(cRet ,"Ü","Ü")
     cRet  := strtran(cRet ,"ß","ß")
     cRet  := strtran(cRet ,'"',""")
     cRet  := strtran(cRet ,"'","'" )
     cRet  := strtran(cRet ,"<","<"  )
     cRet  := strtran(cRet ,">",">"  )
     cRet  := strtran(cRet ,"²","&sup2;")
     cRet  := strtran(cRet ,"³","&sup3;")
     cRet  := strtran(cRet ,"°","&deg;")
     cRet  := strtran(cRet ,"€","&euro;")
     cRet  := strtran(cRet ,"é","&eacute;")
else
     cRet  := strtran(cRet ,"&auml;"  ,"ä")
     cRet  := strtran(cRet ,"&ouml;"  ,"ö")
     cRet  := strtran(cRet ,"&uuml;"  ,"ü")
     cRet  := strtran(cRet ,"&Auml;"  ,"Ä")
     cRet  := strtran(cRet ,"&Ouml;"  ,"Ö")
     cRet  := strtran(cRet ,"&Uuml;"  ,"Ü")
     cRet  := strtran(cRet ,"&szlig;" ,"ß")
     cRet  := strtran(cRet ,"&"   ,"&")
     cRet  := strtran(cRet ,"""  ,'"')
     cRet  := strtran(cRet ,"'"   ,"'")
     cRet  := strtran(cRet ,"<"    ,"<")
     cRet  := strtran(cRet ,">"    ,">")
     cRet  := strtran(cRet ,"&sup2;"  ,"²")
     cRet  := strtran(cRet ,"&sup3;"  ,"³")
     cRet  := strtran(cRet ,"&deg;"   ,"°")
     cRet  := strtran(cRet ,"&euro;"  ,"€")
     cRet  := strtran(cRet ,"&eacute;","é")
endif
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Umlaute und Sonderzeichen

Beitrag von brandelh »

cRet := strtran(cRet ,"'","'" ) // man sieht es kaum, zwischen den beiden " ist ein ' vorhanden. Auf beiden Seiten gleich ... warum weiß ich auch nicht.

aha ... wieder was gelernt :-)

PS: meine Webseite läuft auf ANSI und meine Web-Browser stellen die Ansi Zeichen sauber dar, ich denke dass ich deshalb die auskommentiert habe ...
Gruß
Hubert
Benutzeravatar
Rudolf
Programmier-Gott
Programmier-Gott
Beiträge: 1418
Registriert: Mo, 02. Jan 2006 23:03
Wohnort: Salzburg/Österreich
Kontaktdaten:

Re: Umlaute und Sonderzeichen

Beitrag von Rudolf »

Hallo,
mich wundert nur dass UTF-8 codiert nicht geht, das wäre die einfachste Lösung, hier gibt es in XB2NET eine Funktion.
Grüße
Rudolf
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Umlaute und Sonderzeichen

Beitrag von brandelh »

Kommt drauf an welche Funktion du nutzt, musst du es erst in ANSI umsetzen, danach in ...

Mein Versuch meine Web-Site mit UTF-8 zu erstellen hatten 2 Stolpersteine ...

1. Mein damaliger Editor konnte das nicht :-(
2. Mein FireFox zeigt standardmäßig ANSI Seiten an ... nach der Umstellung hat das zu Anzeigefehlern geführt (sicher falsche Metadaten) ...

und ein Problem:

3. Meine ANSI CGI EXE arbeitet mit ANSI wunderbar, keine Probleme mit dem Browser und meinem Quellcode (ist natürlich subjektiv 8) )

Ach ja die HTML Standardzeichen müssen weiterhin umgesetzt werden.
Gruß
Hubert
Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2120
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 29 Mal
Danksagung erhalten: 70 Mal

Re: Umlaute und Sonderzeichen

Beitrag von Werner_Bayern »

brandelh hat geschrieben: Mi, 26. Apr 2017 12:26 cRet := strtran(cRet ,"'","'" )

aha ... wieder was gelernt :-)
Ich nicht! Was soll das bringen?
Auch das:

Code: Alles auswählen

cRet  := strtran(cRet ,"<","<"  )
es grüßt

Werner

<when the music is over, turn off the lights!>
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Umlaute und Sonderzeichen

Beitrag von brandelh »

Aus heutiger Sicht wundere ich mich über meine Aussage ;-)
Diese Zeile hätte ich bei mir besten Falls auf * gesetzt zur Doku.
Gruß
Hubert
Benutzeravatar
Armin
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 389
Registriert: Mo, 26. Sep 2005 12:09
Wohnort: 75331 Engelsbrand
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Umlaute und Sonderzeichen

Beitrag von Armin »

Nimm die UTF8-Funktionen aus ot4xb.lib und wandle deinen ANSI-String oder OEM-String (kompletter HTML-String) damit in UTF8.

Das sollte funktionieren.

Grüße, Armin
Antworten