IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP Discussion :

Caractère spéciaux request.form


Sujet :

ASP

  1. #1
    Membre du Club
    Inscrit en
    Mai 2009
    Messages
    66
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 66
    Points : 46
    Points
    46
    Par défaut Caractère spéciaux request.form
    Bonjour,

    Je suis sur le même problème depuis 3 jours...

    J'ai un formulaire et un script en ajax faisant appel à un fichier ASP.
    Ce fichier ASP exécute de SQL selon les éléments du formulaire.

    Mon problème est le suivant:
    Quand je passe un caractère spéciaux en paramètre, et que je l'utilise dans ma requête sql , je me rends compte (grâce aux traces) que le caractère a changé. A savoir que le "é" devient "a avec accent et un c (genre entouré type "company")"...

    J'ai beaucoup trainé sur le web pour trouver une solution mais en vain.
    En effet malgrès diverses tentatives , j'arrive à afficher correctement les caractères spéciaux côté client comme serveur (allé/retour) mais lors de l'utilisations de ces caractères ... ça plante.

    voici un peu de code :

    client :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    	// Send And Return Data from Server
    	function sendToServer(url, cfunc, meth, sendData)
    	{
    		if (window.XMLHttpRequest)
    		{
    			// code for IE7+, Firefox, Chrome, Opera, Safari
    			//xmlhttp=new XMLHttpRequest();
    			xmlhttp=new ActiveXObject("Msxml2.XMLHTTP.3.0"); 
    //			xmlhttp=server.Createobject("MSXML2.ServerXMLHTTP")
     
    		}
    		else
    		{
    			// code for IE6, IE5
    			xmlhttp=new ActiveXObject("Msxml2.XMLHTTP.3.0"); 
    		}
    		xmlhttp.onreadystatechange=cfunc;
    		xmlhttp.open(meth,url,true);
    		xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 
    //		xmlhttp.setRequestHeader("Content-Type", "text/xml; charset=iso-8859-1"); 
    		xmlhttp.send(sendData);
    	}
    serveur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Dim argStr
     
    argStr = request.form("id")
    Response.Write argStr // affiche "Détection"
     
    ExecuteServ "./sql/prestations/filtre_prestations.txt", tabResult, argStr
    // cette fonction exécute une requête sql qui est écrite dans le fichier  "./sql/prestations/filtre_prestations.txt"  .
    // Or j'utilise bien argStr mais la trace laisser dans mon sql server marque "D**tection"
    Bref ésitez pas à me demander plus de précision car c'est pas facile à expliquer comme problème.

    Merci pour votre aide,
    Cordialement,

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    Hello freuh94
    Ton problème d'encodage de caractère provient du charset de ton envoi. ton navigateur doit être configurer par défaut en UTF-8 pour l'envoi de donner, et ton script ASP est certainement en ISO-8859-1

    donc deux solution
    1) changer le charset d'envoi xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=iso-8859-1");

    2) faire une fonction qui parce ton UF8 en ISO un truc du genre
    tmpStr = lachaineachanger
    tmpStr = replace(tmpStr, ""&chr(195)&""&chr(167)&"", "ç")
    tmpStr = replace(tmpStr, ""&chr(195)&""&chr(168)&"", "è")
    tmpStr = replace(tmpStr, ""&chr(195)&""&chr(169)&"", "é")
    tmpStr = replace(tmpStr, ""&chr(195)&""&chr(170)&"", "ê")
    tmpStr = replace(tmpStr, ""&chr(195)&""&chr(171)&"", "ë")
    ceci est un peu merdique

  3. #3
    Membre du Club
    Inscrit en
    Mai 2009
    Messages
    66
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 66
    Points : 46
    Points
    46
    Par défaut
    Merci pour ta réponse.

    Je vais me débrouiller avec ça.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [ZF 1.11] $form->populate n'affiche pas les libellés avec caractères spéciaux
    Par schwarzy2 dans le forum Zend_Form
    Réponses: 4
    Dernier message: 30/08/2011, 11h10
  2. [Form] Caractères spéciaux dans les noms de champs
    Par Mistic100 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 29/06/2011, 08h16
  3. [ZF 1.7] Zend Form et caractère spéciaux
    Par ZIED dans le forum Zend_Form
    Réponses: 12
    Dernier message: 08/12/2009, 16h54
  4. Caractères spéciaux à ne pas passer dans une form
    Par LE NEINDRE dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 02/03/2006, 12h39
  5. Traiter les caractères spéciaux
    Par ricola dans le forum Langage
    Réponses: 2
    Dernier message: 20/02/2003, 09h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo