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.NET Discussion :

Problème d'un paramètre POST et caractère accentué et UTF-8


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 5
    Par défaut Problème d'un paramètre POST et caractère accentué et UTF-8
    Bonjour,

    Je vous contact et demande l'aide de la communauté car je suis face à un problème relativement simple mais dont je n'arrive pas à trouver la solution.

    Je souhaite envoyer à un serveur distant, via la méthode POST (GET est aussi possible), trois paramètres (login, password et postblog). Le tout devant être encodé en UTF-8.

    Tout cela marche très bien, sauf lors de l'utilisation d'accent (ô, ê, € etc..) dans le paramètre postblog. J'ai une exception levé car le seveur distant retourne une erreur 500 (problème interne serveur).

    Le serveur distant fonctionne très bien et d'après mon analyse il s'agit d'un problème d'encodage des paramètres..

    En php, j'utilise les fonctions : utf8_encode() suivi de urlencode() et cela fonctionne très bien.

    Avez vous déjà rencontré cette difficulté ? Si oui comment la résoudre ?

    Voici mon code et merci pour votre aide.


    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
    23
    24
    25
    26
    27
    28
       HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://api.xxxxx.com");
     
                request.Method = "POST";
     
                string postData = "login=xxx&password=xxx&postblog=Mon message. Problème avec les accents ô ê € etc..";
     
                byte[] byteArray = Encoding.UTF8.GetBytes(postData);
     
                request.ContentType = "application/x-www-form-urlencoded";
     
                request.ContentLength = byteArray.Length;
     
                Stream dataStream = request.GetRequestStream();
     
                dataStream.Write(byteArray, 0, byteArray.Length);
     
                dataStream.Close();
     
                HttpWebResponse response = (HttpWebResponse)request.GetResponse();
     
                Console.WriteLine(((HttpWebResponse)response).StatusDescription);
                dataStream = response.GetResponseStream();
                StreamReader reader = new StreamReader(dataStream);
                string responseFromServer = reader.ReadToEnd();
                Console.WriteLine(responseFromServer);
                reader.Close();
                dataStream.Close();
                response.Close();

  2. #2
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par défaut
    Bonjour,

    As-tu regardé la méthode UrlEncode ?

    En l'utilisant comme ceci :

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    string postData = "login=xxx&password=xxx&postblog=Mon message. Problème avec les accents ô ê € etc..";
     
    string urlEncodedPostData = Server.UrlEncode(postData);

    Ca devrait mieux passer

    Pour revenir à ta chaîne originale, tu as l'inverse : UrlDecode.
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

Discussions similaires

  1. Réponses: 0
    Dernier message: 13/07/2010, 16h20
  2. Problème de Stockage des caractère accentué
    Par westside-99 dans le forum JPA
    Réponses: 0
    Dernier message: 22/05/2009, 16h30
  3. Problème de caractère accentué SELECT
    Par Invité dans le forum MySQL
    Réponses: 3
    Dernier message: 09/03/2009, 22h04
  4. Réponses: 0
    Dernier message: 21/07/2008, 14h09
  5. [JEditorPane] Problème avec caractère accentué
    Par scifire dans le forum Composants
    Réponses: 6
    Dernier message: 14/09/2005, 14h58

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