Seite 1 von 1

Umlaute und Sonderzeichen

Verfasst: Mo, 24. Apr 2017 7:48
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

Re: Umlaute und Sonderzeichen

Verfasst: Mo, 24. Apr 2017 8:20
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?

Re: Umlaute und Sonderzeichen

Verfasst: Mo, 24. Apr 2017 8:59
von Rudolf
Hallo Hans-Peter,
mir gefällt nicht dass ich vielleicht ein paar Zeichen übersehe ;-)
Grüße
Rudolf

Re: Umlaute und Sonderzeichen

Verfasst: Mo, 24. Apr 2017 9:23
von HaPe
Hallo Rudolf !
mir gefällt nicht dass ich vielleicht ein paar Zeichen übersehe ;-)
OK, du suchst ein HtmlEncode 8)

Re: Umlaute und Sonderzeichen

Verfasst: Mo, 24. Apr 2017 10:13
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

Re: Umlaute und Sonderzeichen

Verfasst: Mo, 24. Apr 2017 10:25
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.

Re: Umlaute und Sonderzeichen

Verfasst: Mo, 24. Apr 2017 10:32
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

Re: Umlaute und Sonderzeichen

Verfasst: Mo, 24. Apr 2017 11:08
von Armin
Hallo Rudolf,

html alles mit utf8 - sollte auch gehen

Grüße, Armin

Re: Umlaute und Sonderzeichen

Verfasst: Mo, 24. Apr 2017 11:27
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.

Re: Umlaute und Sonderzeichen

Verfasst: Mo, 24. Apr 2017 11:32
von Martin Altmann
Einfacher zu lesen?
Hmm, ich finde ein ä selbsterklärender als ein ä

Viele Grüße,
Martin

Re: Umlaute und Sonderzeichen

Verfasst: Mo, 24. Apr 2017 13:42
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

Re: Umlaute und Sonderzeichen

Verfasst: Mi, 26. Apr 2017 11:22
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

Re: Umlaute und Sonderzeichen

Verfasst: Mi, 26. Apr 2017 11:29
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       

Re: Umlaute und Sonderzeichen

Verfasst: Mi, 26. Apr 2017 11:54
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

Re: Umlaute und Sonderzeichen

Verfasst: Mi, 26. Apr 2017 12:02
von HaPe
Da fehlt noch diese Umsetzung (für Worte im deutschen Sprachgebrauch):
lcString = STRTRAN( lcString, 'é', 'é' ) && é
für zb. Coupé oder Canapé

Re: Umlaute und Sonderzeichen

Verfasst: Mi, 26. Apr 2017 12:19
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

Re: Umlaute und Sonderzeichen

Verfasst: Mi, 26. Apr 2017 12:26
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 ...

Re: Umlaute und Sonderzeichen

Verfasst: Mi, 26. Apr 2017 14:12
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

Re: Umlaute und Sonderzeichen

Verfasst: Mi, 26. Apr 2017 14:36
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.

Re: Umlaute und Sonderzeichen

Verfasst: Mo, 19. Jun 2017 22:48
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 ,"<","<"  )

Re: Umlaute und Sonderzeichen

Verfasst: Di, 20. Jun 2017 6:50
von brandelh
Aus heutiger Sicht wundere ich mich über meine Aussage ;-)
Diese Zeile hätte ich bei mir besten Falls auf * gesetzt zur Doku.

Re: Umlaute und Sonderzeichen

Verfasst: Mi, 28. Jun 2017 15:43
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