相关疑难解决方法(0)

HttpUtility.ParseQueryString()始终将特殊字符编码为unicode

当我从System.Web使用HttpUtility时,我发现每次调用方法.ParseQueryString我都有特殊的字符编码到他们的unicode等效表示.我尝试了许多不同的编码类型,似乎都产生了相同的结果.我的代码示例如下:

string text = "ich möchte diese Bild für andere freigeben"
var urlBuilder = new UriBuilder(url);
var query = HttpUtility.ParseQueryString(urlBuilder.Query, Encoding.UTF8);
query["text"] = text;    
urlBuilder.Query = query.ToString();
string finalUrl = urlBuilder.ToString();
Run Code Online (Sandbox Code Playgroud)

finalUrl我将从中收到的字符串将是:

文本= ICH + M%u00f6chte + diese +图片报+ F%u00fcr + ANDERE + freigeben

我尝试过使用Encoding.UTF8,Encoding.ASCII并且Encoding.Default它们都产生相同的结果.我该怎么做才能达到我想要的UrlEncoding格式:

文本= ICH%20米%C3%B6chte%20diese%20Bild%20F%C3%BCR%20andere%20freigeben

一如既往,提前感谢您的帮助/建议!

c# asp.net http query-string

14
推荐指数
3
解决办法
7824
查看次数

标签 统计

asp.net ×1

c# ×1

http ×1

query-string ×1