begin process at 2012 05 27 15:33:56
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive ASP & ASP.NET

 > 

Archives ASP & ASP.NET

 > 

AU SECOURS !!!!

 > 

Caractère "+" (%2b) dans une url


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Caractère "+" (%2b) dans une url

mercredi 12 octobre 2005 à 18:44:58 | Caractère "+" (%2b) dans une url

TheSaib

Administrateur CodeS-SourceS

Bonjour à tous :)

J'ai un problème pour récuperer un numéro de teléphone passer dans l'url de mon GET :


page.aspx?P1=%2b33123456789

J'ai essayé avec urldecode de server et de httpwebutility ca marche pas ...

Quand je fais :

Server.UrlDecode(Server.UrlEncode("+33123456789"))

"�盟蹺"


Et

System.Web.HttpUtility.UrlDecode(System.Web.HttpUtility.UrlEncode("+33123456789"))

"+33123456789"


1. Quel est la difference entre les deux UrlEncode des deux classes différentes ?
2. Si je fait la méthode deux à partir de ce que j'ai dans l'url ca marche pas, une solution ?

System.Web.HttpUtility.UrlDecode(Request.QueryString["P1"])
"�볗븸"


Merci
mercredi 12 octobre 2005 à 19:06:55 | Re : Caractère "+" (%2b) dans une url

jesusonline

Membre Club Administrateur CodeS-SourceS

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

mercredi 12 octobre 2005 à 19:15:44 | Re : Caractère "+" (%2b) dans une url

TheSaib

Administrateur CodeS-SourceS
Quand je fais çà  :

System.Web.HttpUtility.UrlDecode(System.Web.HttpUtility.UrlEncode("+33123456789"))

"+33123456789"

Ca marche pour moi aussi , d'ou mon incomprehension.

Et si je fais çà :

System.Web.HttpUtility.UrlDecode(Request.QueryString["P1"])
"�볗븸"

ou çà :

Response.Write(Request.QueryString["P7"])
J'obtiens du chinois.

::|The S@ib|::
MVP C#.NET
mercredi 12 octobre 2005 à 19:25:43 | Re : Caractère "+" (%2b) dans une url

jesusonline

Membre Club Administrateur CodeS-SourceS
jamais vu ca :s

en mettant ?p=336
ou ?p=33%2B6

ca fait toujours du chinois ?

Sinon si t'y vas en debug ca te dit quoi ? request.querystring("p") en debug ils mettent aussi du chinois ?

et enfin dans request.url en debug t'as des choses normales ? 

si tu forces l'encoding en faisant

Response.ContentEncoding = System.Text.Encoding.UTF8;

ca dit quoi ?


Cyril - MVS - MCP ASP
mercredi 12 octobre 2005 à 19:27:51 | Re : Caractère "+" (%2b) dans une url

TheSaib

Administrateur CodeS-SourceS
D'ailleurs quand je test çà :

Request.QueryString["P6"].Length , il me donne 4 au lieu de 12



::|The S@ib|::
MVP C#.NET
mercredi 12 octobre 2005 à 19:31:05 | Re : Caractère "+" (%2b) dans une url

TheSaib

Administrateur CodeS-SourceS
Forcer l'encoding marche pas.

En debug j'ai du chinois

Dans URL j'ai correctement ma %2b0123456789

En passant 33%2b123456789 dans l'url ca me donne : 33 et du chinois

En passant 33123456789 ca me donne 33123456789

Quel merde ....

::|The S@ib|::
MVP C#.NET
mercredi 12 octobre 2005 à 20:19:58 | Re : Caractère "+" (%2b) dans une url

jesusonline

Membre Club Administrateur CodeS-SourceS

oula, du chinois en debug :s meme dans request.url ? c pas bon signe ca :s

en forcant le thread ?

Thread.CurrentThread.CurrentCulture = New CultureInfo("fr-fr", True)Thread.CurrentThread.CurrentUICulture = Thread.CurrentThread.CurrentCulture

la requete :

Request.ContentEncoding = System.Text.Encoding.ASCII

 sinon en faisant un peu de bidouille genre

page.aspx?p=<%=urlencode(urlencode("+331234"))%>


Le plus chiant c'est que moi j'ai pas la meme chose, donc surement du à un problème de configuration matériel :s t'as essayé sur une autre machine ?


Cyril - MVS - MCP ASP

jeudi 13 octobre 2005 à 00:02:09 | Re : Caractère "+" (%2b) dans une url

TheSaib

Administrateur CodeS-SourceS
Même problème sur 3 machines differentes. Ce n'est pas un problème de config.

Je passe çà dans l'url:

&P4=NS&P5=NS&P6=&P7=%2b3314256985&P8=80100&P9=234&P10=15

Et je me retrouve avec des Carrés / signes


::|The S@ib|::
MVP C#.NET


Cette discussion est classée dans : system, server, url, urlencode, urldecode


Répondre à ce message

Sujets en rapport avec ce message

Custom redirect server side [ par jef06 ] J'utilise des users control, et je voudrais masquer mon url server pour l'utilisateur j'ai essayer IHttpModule et Context.RewritePath("default.aspx")M Connexion SQL Server [ par drahcir ] Salut à tous,voilà, je viens du vb.net, et je doit développer une page web en asp.net. Pour se faire, j'ai besoin de me connecter à une base de donnée Problème installation sql server pour asp.net [ par gatita_dev ] Bonjour, je veux configurer une base de données personnalisée pour mon membership provider mais quand je lance l'assistant d'installation de sql serve Session_End et Server.MapPath [ par darunia ] Salut,Lors de la fermeture de session, je veux effacer un dossier :System.IO.Directory.Delete(Server.MapPath("temp/" + Session.SessionID), true); WebService Besoin d'aide [ par Traben ] Bonjour,J'ai crée un webservice specialisé dans l'envoi de mails avec attachements.Jusque la tout marche bien mais quand j'ai un attachement qui depas DataPager lié à un repeater - erreur IPageableItemContainer - vb - vs2008 [ par acbdev ] Bonjour,J'essaie d'utiliser un contrôle datapager liè à un contrôle repeater avec VS2008 en vb. Est-ce que quelqu'un peut m'aider à trouver la solutio Gestion des logins avec Ms Access [ par Paramba ] Bonjour à tousJ ai essayé de créer un système de gestion de logins et mots de passe basé sur une base de données Access. La structure de la table: use dataGrid avec access [ par douarbou ] Salut,Je fais un stage et c'est le premiere fois que je fais du C#et j'ai un soucie, c'est qu'il ne m'afiche pas la requete que je lui passe dans le " Pb de connexion Access [ par tilleuls ] (Je suis en train d'apprendre à porter mes applications base de données Access sous ASP.NET). J'utilise pour commencer des outils gratuits (Visual Web


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,296 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales