ce serait plutôt une question sur ASP.NET
essaie un peu la méthode UrlEncode mais elle réserve des surprises :
essaie un peu le code suivant sauvegardé dans une page test.ASP
avec HtmlEncode ça fait :
<%Response.Write(Server.HtmlEncode("ici"))%>
sans HtmlEncode ça fait :
<%Response.Write("ici")%>
<HR>
test du caractère 'espace'.
Avec UrlEncode ça fait :
<%Response.Write(Server.UrlEncode("' '"))%>
sans UrlEncode ça fait :
<%Response.Write("' '")%>
<HR>
test du caractère '!'.
avec UrlEncode ça fait :
<%Response.Write(Server.UrlEncode("!"))%>
sans UrlEncode ça fait :
<%Response.Write("!")%>
et quasiment la même sous test.aspx
avec HtmlEncode ça fait :
<%Response.Write(Server.HtmlEncode("ici"));%>
sans HtmlEncode ça fait :
<%Response.Write("ici");%>
<HR>
test du caractère 'espace'.
Avec UrlEncode ça fait :
<%Response.Write(Server.UrlEncode("' '"));%>
sans UrlEncode ça fait :
<%Response.Write("' '");%>
<HR>
test du caractère '!'.
avec UrlEncode ça fait :
<%Response.Write(Server.UrlEncode("!"));%>
sans UrlEncode ça fait :
<%Response.Write("!");%>
on s'aperçoit que lesmêmes caractères ne sont pas traités pareil:
exemple : ! * ( ) _
Cf RFC2396