5

サーバーから URL を取得し、その URL を webview に読み込もうとしています。問題は、取得している URL に非標準文字が含まれていることです。URL は次のとおりです。

https//p-r3.test.abc.com:443%2Ftablet%2Fjsp%2Fgift%2Fipad%2Fgifter%2FgitGiftList.jsp%3FregId%3D74500002%26filterBy%3DviewAll%26pageId%3DourGifty%26sort%3Dcategory%26groupBy%3Dcategory%26view%3Dlist%26categoryId%3D%26addCat%3Dcat100540004&title=re%20-&imgurl=https%3A%2F%2Fm-r3-testy.tr.com%3A443%2Ftablet%2Fimages%2Ft_Full.jpg%3Fwid%3D300%26hei%3D300.

%2520%2F%3Dおよびその他の非標準文字を URL から削除する必要があります。誰もがこのエンコーディングを削除する考えを持っています.
どんな助けでもいただければ幸いです

ありがとう

4

4 に答える 4

7

%2520単純に二重にエンコードされたスペースです。1 回エンコードすると が得られ%20、2 回エンコードすると が得られます%2520。「非標準」ではなく、コーディングが不十分なだけです。%2520理論的には、単にスペースに置き換えることができない理由はありませんが、サーバー側のコードが二重にエンコードされた文字列を想定していることはわかっています。

于 2012-07-09T05:55:36.760 に答える
2

答えが見つかりました。iOSの組み込み機能を使用してエンコーディングを削除しています。abc = [def stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

そして、私はwebview.Itにabcをロードしています.それは正常に動作しています. 回答ありがとうございます。

于 2012-07-10T12:26:09.990 に答える
1

URL サーバー側を処理するコードで、urlencode() が多すぎるか、urldecode() が少なすぎるようです。

于 2012-07-09T06:01:37.690 に答える