Heinz-Jürgen Schymura

Link_Umlaute


Es hat relativ lange gedauert, ehe mir klar wurde, dass ich mir mit dem Link auf eine Umlaute-Domain Schwierigkeiten einfangen kann. Die Schwierigkeiten bestehen darin, dass ich dann bei der eingestellten Zeichenkodierung (etwa iso-8859-1) ungültige Zeichen im Link verwende wenn der Link etwa "http://www.Heinz-Jürgen-Schymura.de" lautet. In diesem Fall ist das "ü" das ungültige Zeichen.
Gut, die meisten Browser können damit umgehen, aber da die Webseite nicht valide ist (also Fehler enthält) schaltet der Browser in den Modus, in dem Fehler toleriert werden. Jedoch hat das dann den unangenehmen Nebeneffekt, dass nicht mehr alle Anweisungen der Webseite genau ausgeführt werden, sondern die Webseite nur noch so dargestellt wird, wie der betreffende Browser "es sich so denkt" (interner Browserstandard etc.). Dadurch sehen natürlich die Webseiten in unterschiedlichen Browsern (Firefox, Opera, IE) auch teilweise unterschiedlich aus.
Die Browser selbst nutzen den Punycode um so einen Umlaute-Link wie oben gezeigt umzuwandeln und ihn dann umgewandelt vom Server anzufordern. Will man also valide Webseiten haben, so kommt man nicht darum herum die Umlaute-Links schon als Punycode-Links in die Webseite zu schreiben, also etwa für den oben gezeigten Link "http://www.xn--Heinz-Jrgen-Schymura-vec.de".
Da es auf Dauer unbefriedigend ist sich das Logfile des Browsers oder etwa von Proxomitron anzusehen, um festzustellen, als was der Browser einen Umlaute-Link vom Server angefordert hat, schrieb ich mir also das Programm Link_Umlaute.
Und weil es mir dann auch noch Spaß gemacht hat, habe ich dann auch noch die Umwandlung von Umlauten und anderen Sonderzeichen in Datei- und Verzeichnisnamen mit in das Programm eingebaut. Nachdem ich feststellte, dass auch in Get-Strings die Umlaute und andere Sonderzeichen Probleme machen habe ich dann auch noch deren Umwandlung bei möglichen Get-Strings mit eingebaut. Bei den beiden letztgenannten Umwandlungen wird jedoch das Zeichen ' (') nicht berücksichtigt, weil es ja für ein mögliches PHP-Programm auf dem Server spezielle Bedeutung hat.
Das Programm kann "natürlich" auch die umgewandelten (und andere) Zeichenfolgen wieder zurückwandeln.
Mit den nun möglichen EU Umlaute-Links wird das Einsatzgebiet noch größer.
 
Das Programm  Link_Umlaute speichert die Programmeinstellungen beim Beenden für den nächsten Start. Es braucht also Schreibrechte in dem Verzeichnis, in dem es sich selbst befindet.