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

Composants VCL Delphi Discussion :

D2007 - Indy10 - IdHTTP et lettres avec accent


Sujet :

Composants VCL Delphi

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 149
    Points : 68
    Points
    68
    Par défaut D2007 - Indy10 - IdHTTP et lettres avec accent
    Bonjour,

    Je ne parviens pas à récupérer les lettres avec accent (é,è,...) qui sont toutes transformées en '?' (#63). Idem si S est String, AnsiString ou WideString.

    J'ai reinstallé la dernière version de Indy10 sur D2007 et cela ne change rien.
    Savez vous pourquoi ?

    Cordialement,

  2. #2
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Essai

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    S := HtmlDecode(IdHTTP.Get(Aurl));
    il faut rajouter HttpApp dans les uses

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 149
    Points : 68
    Points
    68
    Par défaut
    Salut,

    En fait, mon url est de la forme: http://xxx.aspx?id=yyy
    où xxx est fixe et yyy variable permettant d'afficher les différentes pages.
    Si je fais afficher source dans IE, j'ai bien les accents directement ou de la forme par exemple pour le é (si je ne me trompe pas).

    Avec Indy, je récupère pas toutes les lettres avec accents et certaines sont remplacées par #63 ('?').

    HtmlDecode : entraine un message d'erreur "caractère codé HTML incorrect...", mais c'est surement parce que pas véritablement du html.

    De plus, ce n'est pas très logique car le IdHTTP.Get remplace les lettres avec accents (é,è,à, ...) par '?' donc impossible de savoir ensuite.
    Il faudrait agir en amont de idHTTP.Get ou utiliser une autre fonction.

    Une autre idée ?

  4. #4
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 754
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 754
    Points : 13 338
    Points
    13 338
    Par défaut
    Charge ta page dans un stream et regarde ce qu'il contient.

  5. #5
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Je pense qu'il faut que tu forces le Charset ou le Contenttype du IdHttp via les propriétés Request

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 149
    Points : 68
    Points
    68
    Par défaut [Résolu] D2007 - Indy10 - IdHTTP et lettres avec accent
    +1 pour AndNotOr
    En effet, cela marche avec TStringStream où l'on récupère bien tous les caractères au format utf8 (pas de #63). Le tout suivi d'un petit UTF8Decode et tout est OK.

    Merci à vous deux.

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

Discussions similaires

  1. string functions(détecter lettres avec accents)
    Par patburn_911 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 20/02/2013, 10h22
  2. [RegEx] Masque pour lettres avec accents
    Par bastien dans le forum Langage
    Réponses: 5
    Dernier message: 01/08/2011, 22h53
  3. absence totale des lettres avec accent
    Par heeedi dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 06/03/2010, 15h22
  4. [Layout] Problème de lettre avec accent
    Par kanzarih dans le forum Autres composants
    Réponses: 1
    Dernier message: 22/04/2009, 07h35
  5. [Tableaux] Affichage des lettres avec accents
    Par Fredo02 dans le forum Langage
    Réponses: 11
    Dernier message: 12/12/2007, 18h21

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