Amit: + (Pluszeichen) in URI übergeben

Nabend Allesamt.

Ich möchte ein String in einer Datenbank speichern.
Da dieser String auch ein Pluszeichen enhalten kann bin ich auf folgendes Problem gestossen:

seite1.php
<HTML>
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
<!--
function weiter() {
   var I="plus + Ä Ö Ü / ? ";
   var uri = "dbzugriff.php?daten="+escape(I);
   parent.location.href=uri;
}
// -->
</SCRIPT>
</HEAD>
<BODY>
<form>
   <input type=button name="name" value="save" onClick="weiter()">
</form>
</BODY>
</HTML>

dbzugriff.php
<HTML>
<BODY>
<? echo $_GET['daten'] ?>
</BODY>
</HTML>

Augabe:
plus Ä Ö Ü / ?

Welchen Denkfehler mache ich, das das Pluszeichen nicht dagestellt wird?

Gruss

Amit

  1. Hallo, Amit,

    hast du schon mal probiert, vor das Pluszeichen einen Backslash () zu setzen?

    Grüße,

    Sebastian

  2. Hi,

    Welchen Denkfehler mache ich, das das Pluszeichen nicht dagestellt wird?

    Das "+" steht im URL für ein " ". Du mußt es also ebenfalls codieren. Dies geschieht jedoch nicht mit escape(), sondern manuell oder mit encodeURI() (Vorsicht: erst ab JS 1.5!).

    Gruß, Cybaer

    --
    Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!