System.Web'den HttpUtility kullanıldığında, yöntemi her aradığımda buluyorum .ParseQueryString Unicode eşdeğer temsilcilerine kodlayan özel karakterler yaşıyorum. Birçok farklı kodlama türüyle çalıştım ve hepsi aynı sonucu veriyor gibi görünüyor. Benim kodun bir örneği buradadır:HttpUtility.ParseQueryString() her zaman unicode için özel karakterleri kodlar
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();
Ve olacağını bundan cekti ararken finalUrl
dize:
text = ich + m% u00f6chte + diese + Bild + f% u00fcr + andere + freigeben Ben
Encoding.UTF8
, veEncoding.Default
ve hepsi aynı sonucu üretmek kullanarak denedi
. Ben URLencoding benim istenen biçimi ulaşmak için ne yapabilirim:
metin = ich% 20m% C3% B6chte% 20diese% 20Bild% 20f% C3% BCR% 20andere% 20freigeben
Her zaman olduğu gibi Yardım/öneri için şimdiden teşekkür ederiz!
Ne önerirsiniz? – tezromania
Bir yan not olarak, bunları kodlanmamış olarak göstermek isteyebilirsiniz, ancak URL belirtimi bunların açıkça kodlanması gerektiğini gösterir. https://www.ietf.org/rfc/rfc1738.txt (sayfa 2 işaretleyici etrafında) – Nathan
Ben onları kodlamak istemiyorum değil, ben onun unicode kodlama vs standart URL kodlama olarak göstermek istiyorum. – tezromania