0

更新 - 8 月 31 日

string test = "ö";
string unicode1 = HttpUtility.UrlEncode(test, Encoding.Unicode);
string unicode2 = HttpUtility.UrlEncodeUnicode(test);
Console.WriteLine("Result of unicode1: " + unicode1);
Console.WriteLine("Result of unicode2: " + unicode2);

さまざまな結果を見ることができます。現在、データを投稿するために URL のパラメーターに UrlEncode を使用していた場合、ブラウザーがリソースを取得しているときに返されるのは unicode2 になります。

更新 - 8 月 30 日 リンクをクリックしてトレース httprequest を確認してください QueryString のパラメーター「nm」の値が変わったのは奇妙でした。元の文字列は「ööö」だったので、UTF でエンコードした後、Url で確認できます。 -8、RawUrl で「%c3%b6%c3%b6%c3%b6%」になりましたが、通常は RawUrl と QueryString の間で同じエンコード結果を保持するはずです。誰も理由を知っていますか?

ボタンをクリックすると、URL リファラーが null になるという問題が発生しました。"ööööööööö" というテキストを入力しました。C# と IE の間でエンコーディングが異なることがわかります。

C# によってエンコードされた URL。Fiddler によってキャプチャされました

IEでエンコードされたURL、IEのステータスバーに表示されていた

UTF8でエンコードした結果:「%c3%b6%c3%b6%c3%b6%c3%b6%c3%b6%c3%b6%c3%b6%c3%b6」

IE によるエンコードの結果: 「%u00f6%u00f6%u00f6%u00f6%u00f6%u00f6%u00f6%u00f6」</p>

誰かがそれがどのように起こるかを知っていて、手を差し伸べますか?

4

0 に答える 0