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。

更新 - 30 Aug 请点击链接查看追踪httprequest 奇怪的是QueryString中参数“nm”的值变了,原来的字符串是“ööö”,所以我们可以在Url中看到,经过UTF编码-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