Url Unicode字符编码

如何编码包含Unicode的URL? 我想将它传递给命令行实用程序,我需要先对其进行编码。

示例: http://zh.wikipedia.org/wiki/白雜訊http://zh.wikipedia.org/wiki/白雜訊

成为http://zh.wikipedia.org/wiki/%E7%99%BD%E9%9B%9C%E8%A8%8A

您可以在System.Web程序HttpUtility.UrlPathEncode使用HttpUtility.UrlPathEncode方法(需要完整的.NET Framework 4配置文件):

 var encoded = HttpUtility.UrlPathEncode("http://zh.wikipedia.org/wiki/白雜訊"); 

根据MSDN,您不能再使用UrlPathEncode。

那么,现在正确的做法是,

 var urlString = Uri.EscapeUriString("http://zh.wikipedia.org/wiki/白雜訊"); 

我有土耳其人性格问题。 解决了这个问题

 Server.UrlEncode(s); 

.NET字符串本身就是Unicode字符串(UTF-8编码,具体而言)所以你只需要调用HttpServerUtility.UrlEncode(尽管所谓的“内在”服务器属性将在asp.net的大多数上下文中可用)你可能想这样做)。