Stefan Lodders: Problem mit Umlauten bei Variablenübergabe beim Netscape

Beitrag lesen

Hallo!

Nachdem noch keine Patentlösung vorliegt, möchte ich eine kleine Lösungsmöglichkeit vorstellen :).

Medien: Da guckt man in die Röhre

Woran liegt`s?

Folgende Skripte funktionieren unter NS6.2 (gestern frisch in der deutschen Version installiert, noch keine Konfig.-Änderungen):

----- tes.php -----
<html>
<body>
<?php
$str="Medien: Röhre";
 echo"<a href="test.php?bla=".urlencode($str)."">Test</a>"; ?>
</body>
</html>

----- test.php -----
<html>
<head>
 </head>
<body>
<?php
echo $bla."<br>\n";
?>
</body>
</html>

Ausgabe:" Medien: Röhre "

Gedanken zu Deinem Problem:
1. Dein Problemphänomen trat nur auf, wenn man die Umlaute direkt in die URL-Zeile oben im Browser geschrieben hat. Ist das möglich, dass Du das zum Testen getan hast? PHP konvertiert nämlich mit urlencode codierte Strings IMHO on the fly beim Aufruf einer neuen Seite zurück, vermutlich aber nur, wenn der Aufruf von einer Seite stammt auf der mit urldecode gearbeitet wurde.

2. Der String, der in der URL-Zeile ankommt lautet bei mir: "http://bla/test.php?bla=Medien%3A+R%F6hre" Doppelpunkt und Leezeichen sind also anders verschlüsselt! Möglicherweise wird der Befehl bei Dir also gar nicht wirklich ausgeführt, denn Deine oben angegebene Schreibweise entspricht der "browsereigenen" Verschlüsselung und nicht der von PHP.

Viel Text für ein kleines Problem :). Das kommt davon, wenn man auch nicht sicher ist.

Hoffe, ich konnte Dir helfen.

Gruss, Stefan