Pour la difference entre les 2 classes si tu regardes dans reflector, tu vois que
Server est en fait un httpServerUtility
public HttpServerUtility Server
{
get
{
if (this._server == null)
{
this._server = new HttpServerUtility(this);
}
return this._server;
}
}
et HttpServerUtility.UrlEncode vaut
public string UrlEncode(string s)
{
Encoding encoding1 = (this._context != null) ? this._context.Response.ContentEncoding : Encoding.UTF8;
return HttpUtility.UrlEncode(s, encoding1);
}
la difference c'est que Server.UrlEncode prend en compte l'encoding de la response ... mais l'encoding c'est pas mon fort ...
Par contre moi Server.UrlDecode(Server.UrlEncode("+33123456789")) me retourne bien +33123456789 c'est ca qui me parait bizarre :/ t'as un os francais ? avec un thread de culture francaise ?
Sinon moi quand j'ai
page.aspx?p=%2B33
et que je fais un response.write(request.querystring["p"]) le paramètre est deja décodé (et heureusement) donc pas besoin de décoder un querystring ...
la seule chose qu'il faut faire gaffe c'est que le + dans l'urlencode soit bien encodé, en effet le plus correspond à un espace ...
Cyril - MVS - MCP ASP