2011-01-14 16 views
1

私たちのアプリの一環として、ユーザーはいくつかのデータをRSSフィードとなるサーバー上のXMLとして保存することができます。RSSフィードのURLにアンパサンド

作成したファイルの一部が、&のファイル名にBB & T_RSS.xmlという名前で作成されました。

だから、ユーザーがhttp://example.com/BB&T.xmlを指しているとき、彼らはこれを取得しません。

これを停止する方法はありますか?私はBB%26T.xml、BB &アンプを試してみました。IEと任意の成功なしT.xml、クロム

+0

BB%26T.xmlは、正しくエンコードされているものとして動作する必要があります。これらのファイルはファイルシステムに保存されていますか?または、サーバーがファイル名を最初に処理していますか? –

+0

BB%26T.xmlが動作するはずです。パスが存在することを確認してください。 – Aliostad

+0

XMLファイルはファイルシステム(サーバー上)に保存され、ユーザーはブラウザにこのURLを入力するだけです – jvm

答えて

2

&

http://example.com/BB%26T.xml

ため

%26 

を使用します

http://www.w3schools.com/tags/ref_urlencode.asp

は再び

URLエンコードがすべてのブラウザは、URL文字列のテキストを正しく送信することが保証されたURLからファイルを取得するために

HttpServerUtility.UrlDecode Method

を使用しています。疑問符(?)、アンパサンド(&)、スラッシュ記号(/)、空白などの文字は、一部のブラウザで切り捨てられたり破損したりすることがあります。結果として、これらの文字は、リクエスト文字列内のブラウザによって文字列が再送信されるタグまたはクエリ文字列でエンコードされなければなりません。

URLのスキーム固有の部分には、セマンティクスが指定されています。オクテットに対応する文字が がスキームに予約されている場合、オクテットは符号化されなければならない。 ";"、 "/"、 "?"、 ":"、 "@"、 "="および "&"は、スキーム内で特別な意味で予約された の文字です。他の文字はスキーム内に予約されている可能性があります。 (src