更新 - 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的不同编码。
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>
有谁知道它是怎么发生的并伸出援手?