Passage de paramètre avec accent dans URL

michelsto Messages postés 27 Date d'inscription samedi 28 décembre 2002 Statut Membre Dernière intervention 12 avril 2009 - 9 mars 2005 à 15:01
michelsto Messages postés 27 Date d'inscription samedi 28 décembre 2002 Statut Membre Dernière intervention 12 avril 2009 - 30 mars 2005 à 08:18
Bonjour,

Je cherche comme unn malade une solution qui est surement simple.
J'ai une form dans un fichier HTML source si dessous:
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>



<form name="form1" method="get" action="webform1.aspx">


</form>

</html>

J'ai une page aspx avec du code vb.net derrière pour simplement récupérer la valeur du champs de la form code si dessous:
Private
Sub Page_Load(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles
MyBase.Load


Request.ContentEncoding = System.Text.Encoding.ASCII



Dim s
As
String = Request.QueryString.Get("edit1")


e1.Text = s





End
Sub


J'ai fait très simple pour le test.
Tout fonctionne bien, sauf quand j'utilise des caratères accentué (éàç...) la form HTML les code bien avec les % :
Si je tape le mot "président" il encode
webform1.aspx?Submit=Submit&edit1=pr%E9sident

C'est parfait, mais dans mon code aspx je ne voie pas les caractère accentué.

J'ai aussi testé les form de type POST, ca ne change rien.

Comment faire ?
Vous avez une idée ?

Michel

6 réponses

dpouliot Messages postés 50 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 4 novembre 2008
29 mars 2005 à 18:59
Reçois tu la bonne inofrmation? : %E9 pour les é. dans la variable s.

Si c'est le cas je ne vois pas le problème.
Sinon, fais la conversion des caractères accentués pour ton nouvel affichage.

dpouliot
0
michelsto Messages postés 27 Date d'inscription samedi 28 décembre 2002 Statut Membre Dernière intervention 12 avril 2009
29 mars 2005 à 19:38
J'ai encore fait des test et quand j'appèle ma page aspx par une autre page aspx il passe l'url suivant:
Le mot passé est "général"
http://localhost/WebApplication1/webform1.aspx?edit1=g%c3%a9n%c3%a9ral
Et j'arrive à récupérer correctement le mot "général" complet



Mais quand je passe par la form HTML il passe l'url suivnate qui n'est pas correcte.
http://localhost/WebApplication1/webform1.aspx?edit1=g%E9n%E9ral


Donc je sais maintenant que ma page ASPX est correcte, c'est la page html qui interprète mal le mot.
Mais je ne trouve pas comment faire.
J'ai cherché les différent type de code page possible, mais rien ne fonctionne.


Comprend pas ! ! !

Michel
0
dpouliot Messages postés 50 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 4 novembre 2008
29 mars 2005 à 20:29
Tu as un problème de codepage.

Ton aspx semble utiliser le charset=utf8
alors que ton html utilise charset=iso-8859-1

Il faut utiliser le même charset ou faire les correspondances sois même.
Personnellement je n'aime pas utiliser l'utf8, c'est plus compliquer pour les fichiers ascii.

dpouliot
0
michelsto Messages postés 27 Date d'inscription samedi 28 décembre 2002 Statut Membre Dernière intervention 12 avril 2009
29 mars 2005 à 22:48
Et comment je peux changer çà ?
Simplement dans le code de la page ?

Si dessous le code de la page HTML suivis de celui de la page ASPX
Dans l'HTML je trouve un code page mais pas dans l'ASPX. Je ne comprend pas.


--------------------------------------------------------------------


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"


"http://www.w3.org/TR/html4/loose.dtd">


<html>


<head>


<title>Untitled Document</title>


<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15">


</head>







<form name="form1" method="get" action="webform1.aspx">






</form>




</html>





---------------ASPX --------------------------------





<%@ Page Language="vb" AutoEventWireup="false" Codebehind="WebForm2.aspx.vb" Inherits="WebApplication1.WebForm2"%>


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">


<HTML>


<HEAD>


<title>WebForm2</title>


<meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.1">


<meta name="CODE_LANGUAGE" content="Visual Basic .NET 7.1">


<meta name="vs_defaultClientScript" content="JavaScript">


<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">


</HEAD>




<form id="Form1" method="post" runat="server">






</form>




</HTML>

Michel
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
dpouliot Messages postés 50 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 4 novembre 2008
29 mars 2005 à 23:04
Désolé, tu sort de mes compétences. Fais appel à une personne qui ne jure que par .NET.
Je sais qu'il y a une configuration quelque part, une option, .NET en fais la gestion alors tu devrais pourvoir trrouver...
OU change le charset de la page HTML pour l'UTF8. Bonne recherche et amuse toi.

dpouliot
0
michelsto Messages postés 27 Date d'inscription samedi 28 décembre 2002 Statut Membre Dernière intervention 12 avril 2009
30 mars 2005 à 08:18
Tu à trouvé la solution à mon problème.
J'ai changé le code de la page HTML en UTF-8 et..... ca fonctionne.
Je ne sais pas ce que j'ai fait avant pour ne pas trouver.

UN GRAND MERCI !

Michel
0
Rejoignez-nous