Accents ?????

Signaler
Messages postés
63
Date d'inscription
mardi 25 décembre 2001
Statut
Membre
Dernière intervention
11 février 2007
-
Messages postés
63
Date d'inscription
mardi 25 décembre 2001
Statut
Membre
Dernière intervention
11 février 2007
-
Je me demande pourquoi j'ai des incompatibilités avec les accents ... J'ai fait deux pages, basiques :

1er Page : Formulaire :
<form action="xxx" method="post">



</form>

2e Page : Interpretation ( en VB )
sub page_load(sender As Object, e As EventArgs)
label1.Text = request("pseudo")
end sub

Hors les accents n'apparaissent pas lorsque dans le formulaire de la première page j'en met. Cela est il normale ? Une solution ? Merci

16 réponses

Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
c'est un problème de codage
utilise httputility.htmlEncode et htmlDecode

sinon une petite remarque pour ton exemple tout simple, ce serait bon avec asp(3) mais la tu as pas du tout une approche asp.net

ajoutes plutot un asp:button au lieu de ton
Cyril
Messages postés
63
Date d'inscription
mardi 25 décembre 2001
Statut
Membre
Dernière intervention
11 février 2007

oui je suis tout a fait d'accord pour l'approche, mais je suis sur un cas particulier c'est pour ca :)

En faite ca serais top si tu pouvais me dire comment utiliser l'htmlencode et l'htmldecode ( ou les placés ? )
Merci encore !
Messages postés
63
Date d'inscription
mardi 25 décembre 2001
Statut
Membre
Dernière intervention
11 février 2007

arf je ne comprend vraiment pas, j'ai tout essayé :
httputility.htmldecode
httputility.urldecode
server.htmldecode
server.urldecode

Mais aucun ne semble fonctionner...
Allez voir de vous même :
http://mikaa2.dotnet13.hostbasket.com/form.htm

( contenue de cette page : un simple formulaire methode="get" )

l'autre page :
sub page_load(sender As Object, e As EventArgs)
label1.Text = httputility.urldecode(request("pseudo"))
end sub

>> A l'aide << %-6
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
normalement c'est

httputility.HTMLDecode(request("pseudo"))

et essaye en post plutot qu'en get


Cyril
Messages postés
63
Date d'inscription
mardi 25 décembre 2001
Statut
Membre
Dernière intervention
11 février 2007

Toujours rien ... Cette histoire m'intrigue ?-)
J'ai même essayé de faire
label1.Text = replace(request("pseudo"),"%E9","é")
Et je me suis rendus compt que ca ne marche toujours pas, sauf si dans le champs pseudo on marque %E9...
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
meme avec un post ?

et si tu fais request.forms("pseudo") avec un post
ou request.querystring("pseudo") avec un get

et toujours avec le htmldecode

Cyril
Messages postés
63
Date d'inscription
mardi 25 décembre 2001
Statut
Membre
Dernière intervention
11 février 2007

J'ai essayé avec le request.querystring avec le get,
actuelement c'est en request.form et ca ne change toujours pas,
(http://mikaa2.dotnet13.hostbasket.com/form.htm)
aparament le problème ne viens pas du formulaire ... >:)
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
j'y comprend plus rien moi non plus :sad)

ajoute trace="true" à ta directive page,
<% @ Page language="VB" trace="true" %>

sinon ben faut faire ca à la sauce .net :big)

<script language="VB" runat="server">

Sub btn_click()
response.redirect("page.aspx=?pseudo" & htmlencode(pseudo.text))
end sub

</script>

<form runat="server" if="Forms1">
Cyril
Messages postés
63
Date d'inscription
mardi 25 décembre 2001
Statut
Membre
Dernière intervention
11 février 2007

J'ai ajouté trace="true", dis moi si tu a une idée :)

Sinon le faire en .net ya aucun problème, mais ce que je veux faire c'est un formulaire que tout le monde pourrais mettre sur leur site ( qui n'est pas forcément en .net ) donc je peu pas le faire en asp.net ;)

Merci pour l'aide en tout cas !
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
pfffff je comprend pas pourquoi ca coince. Je vais essayer chez moi, j'ai pas le temps tant pis je vais bien trouver 5 min

c'est agacant comme problème ;)

Cyril
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
il me semble avoir deja rencontré ce problème, mais je ne sais plus la résolution ;(

donc voici ce que j'ai fait (quand j'en ai trouvé le temps :big) )
quand je fais comme toi ca me plante, à noter que tu as request.params("pseudo") qui marchent pour get et post

sinon en get, j'arrive à retrouver le code l'accent comme ca, mais si je fais un htmlencore ca me fait comme un request.querystring("pseudo") donc un interne il doit utiliser urldecode
Dim s As String
s = Request.Params("query_string")
si tu veux, dans le projet cslib qui se trouve sur ce site, il y a une classe qui convertit tout les caractères et meme ceux que urldecode ne fait pas.

j'avoue que je n'y comprend plus grand chose, j'ai juste tester ca, via le bloc note, mais t'as vs.net regarde avec le debogueur et cherche la bonne chaine, des fois qu'elle existe :D

sinon je pense qu'il serait bien d'aller voir les newsgroup de MS, car la il y a un truc qui m'echappe :sad) je regarde sur un bouquin si j'ai le temps ce soir

@+

Cyril
Messages postés
63
Date d'inscription
mardi 25 décembre 2001
Statut
Membre
Dernière intervention
11 février 2007

En faite comme tu dis aparament un urldecode est utilisé en interne et, bizzarement, quand j'essay d'autres caractères comme <, >, &, % ils marchent tous sauf les accents ! ... ouarf %-6
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
Je suis allé cherché dans mes bouquins, donc dans un, il fait de la meme facon que nous,
un autre, il ajoute page.aspx?page="page entrée" et il obtient les " " avec le meme formulaire que nous (aucune difference notable) et fait la meme chose que nous pour le recuperer, essaye de rajouter manuellement les " pour voir

et il existe une autre facon d'avoir les querystring, des fois que :
request.querystring.getvalues("pseudo")(0) cette méthode est utile dans le cas des &pseudo=blabla&pseudo=blabla2

sinon les newsgroup asp.net c'est ici :http://msdn.microsoft.com/newsgroups/topic.aspx?url=/MSDN-FILES/028/201/317/topic.xml

Je vais faire une mini recherche la bas, mais va poser ta question

Cyril
Messages postés
63
Date d'inscription
mardi 25 décembre 2001
Statut
Membre
Dernière intervention
11 février 2007

arf j'ai essayé et toujours rien, je vais posté un message sur la newsgroupe, merci :)
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
Alors ? finalement as tu résolus ton problème ?



j'ai pas recherché depuis, mais le resolution du problème m'interesse toujours



<hr style="width: 100%; height: 2px;">Cyrilhttp://blogs.developpeur.org/cyril/
Messages postés
63
Date d'inscription
mardi 25 décembre 2001
Statut
Membre
Dernière intervention
11 février 2007

non rien du tout...
Galère galère ^^