2013-10-05 46 views
2

我使用C#web瀏覽器發送請求。但url包含西裏爾字母符號,我使用代理,所以我需要對url進行編碼。url西里爾文編碼問題(使用webbrowser控件)

來源網址:http://mysite.com/info?q=москва+дизайн

我需要http://mysite.com/info?q=%E4%E8%E7%E0%E9%ED+%EC%EE%F1%EA%E2%E0

什麼C#的功能存在是爲了什麼?

回答

4

您可以使用System.Web.HttpUtility.UrlEncode()。它的默認編碼是utf-8,你看起來像是Windows代碼頁1251,並且文字相反。我想你應該通過Encoding.Default。最接近的匹配是:

var enc = Encoding.GetEncoding(1251); 
var url = "http://mysite.com/info?q=" + 
      System.Web.HttpUtility.UrlEncode("москва+дизайн", enc); 

主要生產:

"http://mysite.com/info?q=%ec%ee%f1%ea%e2%e0%2b%e4%e8%e7%e0%e9%ed" 
+0

謝謝謝謝你很多次!!!! – Konstantin