Quando si utilizza HttpUtility da System.Web, trovo che ogni volta chiamo il metodo .ParseQueryString Sto avendo caratteri speciali codificati per le loro rappresentazioni equivalenti unicode. Ho provato con molti tipi di codifica diversi e tutti sembrano produrre lo stesso risultato. Un esempio del mio codice è qui:HttpUtility.ParseQueryString() codifica sempre caratteri speciali per 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();
e la stringa in finalUrl
che avrei ricevo da questo sarebbe:
text = ich + m% u00f6chte + diese + Bild + f% u00fcr + + andere freigeben
ho provato con Encoding.UTF8
, e Encoding.Default
e tutti producono lo stesso risultato. Che cosa posso fare per raggiungere il mio formato desiderato di urlencoding:
text = ich% 20m% C3% B6chte% 20diese% 20Bild% 20f% C3% BCR% 20andere% 20freigeben
Come sempre, Grazie in anticipo per l'aiuto/consigli!
cosa consiglieresti? – tezromania
Proprio come una nota a margine, potresti volerli mostrare come non codificati, ma le specifiche dell'URL indicano chiaramente che questi dovrebbero essere codificati. https://www.ietf.org/rfc/rfc1738.txt (attorno al marcatore di pagina 2) – Nathan
Non è che non voglio codificarli, è che voglio che venga visualizzato come codifica url standard vs codifica unicode. – tezromania