En fait quand je veux créer ma requête il demande une URI qu’il encode tout seul, donc quand j’encode moi il me lève une exception : "URI non valide : Impossible de déterminer le format de l’URI."
Voilà ce que je fais (l’URL est totalement fantaisiste B)) :
Ben apparemment non vu que c’est le seul encodage qui me donne ce que je veux et que c’est l’utf-8 qui me donne les %C3%A9 (ou alors j’ai mal vérifié).
De toute façon le problème c’est que je peux pas passer d’URL encodée avec la méthode Create, et je peux pas spécifier l’encodage que je veux.
Je commence à me demander si j’ai pas fait une connerie quelque part (comme utiliser HttpWebRequest par exemple ?)
Je vois pas ou est le probleme, tout se comporte exactement comme prevu. Toutes les strings en C# sont par defaut en UTF8.
Si tu veux de l’UTF8, fais de l’UTF8:
UriBuilder uribuilder = new UriBuilder("http://127.0.0.1/MaPage.aspx");
uribuilder.Query += "test=" + HttpUtility.UrlEncode("ééé", Encoding.UTF8);
WebRequest webRequest = HttpWebRequest.Create(uribuilder.Uri);
Ca donnera du %C3%A9%C3%A9%C3%A9
Et du coup apres si tu fais
Ca marchera tout seul avec ééé dans s.
Enfin j’ai du mal a comprendre ou est vraiment ton probleme en fait B)
UTF ca veut dire “Unicode Transformation Format” donc unicode si tu veux. Sauf que Encoding.Unicode c’est UTF-16 little endian. Unicode est un terme tellement surchargé que c’est impossible de savoir de quoi on parle si on dit juste Unicode.
Styx31 a bien vu, je veux de l’iso-8859-1 (je viens de le découvrir en fait B)), et j’ai pas la main sur le serveur donc j’ai pas trop le choix.
Par contre je passais en paramètre de Create toute l’URL (adresse de la page et paramètres), je vais essayer de juste encoder les paramètres ce week-end.