IE10のアドレスバーにパラメータを指定してWebサービスのクエリ文字列を入力してサービス結果を取得することができるように、顧客からリクエストがありました。 ?の後に行くすべての非ANSI文字 - それはIE10は、他の(通常の)ブラウザとは異なり、クエリ文字列パラメータをエンコードしませんように私には見えますIE10のクエリ文字列パラメータのエンコード
http://mywebsite.com/service.asmx/foo?param1=123¶m2=מחרוזתבעברית
:パラメータは次のようにヘブライ語の文字列を含み、マークは '3f'バイトに変換されますが、それは先に進むものをエンコードしますか? mark - URLそのもの例えば
、私は
http://www.shlomo.co.il/pageshe/sales/רכב-למכירה.asp?param=פאראם
(パラメータが想像され、URLではない、と私はサイトと接続されていません)URLにアクセスしようと、私はに送信バイトのためのwiresharkで見ればサーバは、それはあなたがそれをURLエンコード文字列をURLのヘブライ語の一部を置き換えていますが、「3階のある?????とヘブライ語のパラメータを、代用見ることができる私に
を示しています。
Chromeで同じ文字列はそれで全部だエンコードされます:
GET http://www.shlomo.co.il/pageshe/sales/%D7%A8%D7%9B%D7%91-%D7%9C%D7%9E%D7%9B%D7%99%D7%A8%D7%94.asp?param=%D7%A4%D7%90%D7%A8%D7%90%D7%9D HTTP/1.1
私はwin7の/ IE10とwinXPheb/IE8を持つマシン上でそれを試してみました。
私のIEの設定(特にそれが助け、再起動かどうかを確認するために、「常にエンコードされたアドレスオプションを表示」が、差は行われませんチェック)されています
私はすべての情報のために周りに検索してみました問題については知っていましたが、それほど多くは見つかりませんでした。
私の質問は以下のとおりです。
- が、それはこのように確かに、または私は何かが足りないのですか?
- この動作はどこに文書化されていますか?
- IE/Winにパラメータエンコードを有効にする設定がありますか?
p.s.クライアント/ Web UIを開発していたのですが、私は単にクエリをurlencodeしますが、顧客からの私の要求はIEのアドレスバーにクエリを貼り付けることだけだったので、この特定の動作に興味があります。
ありがとうございました。
はそれに応じて質問を編集します。 – alex440
私はブラウザスタックのIE 10を試してみましたが、 "UTF-8 URLを送信"をチェックして問題を解決したようですが、ここでは大きな質問と回答をしました。それが正しいことを今思うのだろうか? –