2017-01-24 2 views
-2

私はこのURLを持っていますhttps://plus.google.com/+pitneybowes、ここに+記号が入ります。私は私のコードアンカー田下URLは空白文字%20に置換されます。

でこのURLを使用しているが、私は私のコードを実行し、ブラウザで表示するとき、それは私がURLで+記号をしたい、このhttps://plus.google.com/%20pitneybowes

に置き換えられます。これは必要である。この問題を解決するには?

+0

あなたは私達にあなたの現在のコードを提供することができ – KDOT

+0

我々はコードを見ることはできますか? – Kaylined

+0

私はwindow.location.href = "http://plus.google.com/+pitneybowes"を使用してURLを呼び出しました+記号は%20に置き換えられます –

答えて

0

URL specificationによると、%20+は、エスケープスペース(ASCII 32)の同等の表現です。ブラウザが%20+かどうかは、実装によって異なります。

あなたのサイトは、両方を扱うように設計されている必要があります。実際には、生のURLではなく、エスケープされていない解析されたURL(どちらの場合にもスペースを含む)で動作するはずです。

ウェブサイトを実際にコーディングして、スペースを+として具体的に表現する必要がありますが、これは何とかミッションクリティカルなものであるため、互換性の問題について自分自身を設定しています。

URLに実際に+が必要な場合(エスケープされていない場合)、その16進コードは%2Bです。

したがって

Print(UrlEncode("This is a test")); = "This+is+a+test" 
             or "This%20is%20a%20test" 

Print(UrlDecode("This%20is+a%20test")) = "This is a test" 

Print(UrlEncode("What is 2+2?")  = "What+is+2%2B2%3F" 
-1

urlencodeを使用してURLをエンコードできます。デコードは自動的に行われ、$ _GETから値を取得できます。

関連する問題