开发者

Url Unicode characters encoding

How to encode URLs containing Unicode? I would like to pass it to a command line utility and I need to encode it first.

Example: http://zh.wikipedia.o开发者_运维百科rg/wiki/白雜訊

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


You can use the HttpUtility.UrlPathEncode method in the System.Web assembly (requires the full .NET Framework 4 profile):

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


According to MSDN you can't use UrlPathEncode anymore.

So, Correct way of doing it now is,

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


I had Turkish character problem.<a href="/@Html.Raw(string)" solved the problem


Server.UrlEncode(s);

.NET strings are natively Unicode strings (UTF-8 encoded, to be specific) so you need to nothing more than invoke HttpServerUtility.UrlEncode (though the so-called "intrinsic" Server property will be available in most contexts in asp.net where you may want to do this).

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜