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

Web Perl Discussion :

Problème de caractères spéciaux


Sujet :

Web Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 14
    Par défaut Problème de caractères spéciaux
    Bonjour,

    J'espère avoir trouvé le bon endroit pour évoquer le souci auquel je suis confronté.

    Quand je récupère des données sur une page internet avec la fonction get, j'ai un problème lié à la retranscription d'éléments de données contenant des accents. Mes problèmes sont notamment liés à la récupération des mots 'août' ou 'décembre', car les caractères 'û' et 'é' ne sont pas reconnus comme tels, ils sont représentés par des paires de caractères que je ne sais pas reproduire sans clavier numérique.
    Si j'exécute un print de ces mots sous DOS, j'ai ces doubles caractères, alors que si je réalise mon print dans un fichier, les caractères sont bien convertis en 'é' ou 'û'.
    Conséquence, quand je veux réutiliser ces données récupérées d'internet, les mots ne sont pas reconnus comme 'décembre' ou 'août', or ils apparaissent tels quels dans une table de hashage que j'ai définie.

    Comment puis-je faire en sorte que les données que j'ai récupérées soient compatibles avec les données que j'ai définies dans mon script?

    Merci d'avance pour vos réponses, et bonne journée.
    Cordialement.

  2. #2
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 822
    Par défaut
    Ce n'est pas une erreur, mais un souci d'affichage dû à l'encodage de ta console DOS. Regarde la réponse ici.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Août 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 14
    Par défaut
    Merci pour les infos, djibril.
    J'ai bien fait divers tests, et le mot 'décembre' est bien interprété. Par contre, le caractère 'û' du mot 'août' reste mal écrit, mais représenté par des caractères différents.
    La première fois, le caractère 'û' s'écrivait :
    ├╗
    La seconde fois, j'avais droit à :
    û
    Y-a-t'il quelque chose sur l'UTF8 que je n'ai pas saisi, concernant les accents circonflexes, notamment?

  4. #4
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 822
    Par défaut
    Bon, de toute façon, je ne comprends pas ta logique. Si tu fais du web, ce n'est pas pour avoir des sorties en console DOS. L'écriture dans un fichier fonctionne et si c'est une question d'affichage dans la page web, le conseil est d'utiliser les code html, exemple é pour é, û pour û, etc. Regarde le module HTML::Entities pour qu'il te fasse la conversion automatique.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Août 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 14
    Par défaut
    Bon, j'ai peut-être mal présenté mon problème.

    Quand je développe, je réalise parfois des "print" sous DOS pour mieux localiser mes erreurs, à d'autres moments je fais ces "print" dans des fichiers (en général selon les itérations de mes boucles).
    Dans mon cas, je veux récupérer des informations depuis un site internet. C'est pour ça que j'ai posté dans le sous-forum Web, en espérant que ce soit le bon endroit. Ma relation avec internet se limite dans ce cas à la récupération de données.


    Pour la récupération de données depuis internet, j'ai des soucis concernant les mots avec accents. Par exemple, je veux récupérer le mot "août", qui s'écrit correctement dans le code source de la page. J'ai également défini le mot "août" comme l'une des clés d'une table de hashage. Or, quand je veux mettre en relation ce mot récupéré d'internet avec la clé de ma table de hashage, je n'ai pas de correspondance. Pour savoir pourquoi, je réalise un "print" sous DOS du mot récupéré depuis la page internet, et j'obtiens
    ao├╗t
    Quand je réalise ce même "print" dans un fichier, le mot s'écrit correctement.

    Suite au premier message que tu m'as envoyé, j'ai réalisé quelques tests pour tenter de me familiariser avec l'encodage. Après avoir ajouté la fonction "ActiverAccentDOS()" (définie dans ton aide) à mon script, les "print" des caractères particuliers ('éèçûùà...) sont corrects.
    Cependant, j'ai toujours des problèmes avec le mot "août". Si je réalise un , le mot est écrit correctement. Par contre, si je réalise un "print" de la valeur que j'ai récupérée sur internet, j'obtiens cette fois-ci sous DOS
    août
    Avec un "print" dans un fichier, toujours pas de souci sur l'écriture du mot.
    Les mots 'décembre' et 'février' ne posent plus de problèmes quant à eux.

    Les questions que je me pose maintenant, sont :
    Pourquoi le 'é' et le 'û' sont traités différemment dans le cas que j'évoque? Est-ce du à l'encodage de la page internet elle-même?
    Est-ce que faire une substitution de 'û' par 'û' une fois la valeur récupérée réglerait "proprement" mon problème, ou y-a-t'il un encodage à réaliser pour des données récupérées sur internet?

    Je vais continuer à chercher de mon côté, mais si vous aviez une ou des réponse(s), je suis preneur
    Merci d'avance.

  6. #6
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 822
    Par défaut
    Peux tu nous montrer ton code.

Discussions similaires

  1. Problème insertion caractères spéciaux
    Par gaet_045 dans le forum Débuter
    Réponses: 3
    Dernier message: 07/07/2006, 14h42
  2. [MySQL] Problèmes avec caractères spéciaux
    Par brokengillou dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 27/04/2006, 17h02
  3. Probléme encodage caractéres spéciaux MYSQL
    Par FoxLeRenard dans le forum Installation
    Réponses: 1
    Dernier message: 20/02/2006, 12h10
  4. [SOAP] problème de caractères spéciaux
    Par ep31 dans le forum XML/XSL et SOAP
    Réponses: 3
    Dernier message: 02/12/2005, 17h43
  5. [SQL Server] problème de caractères spéciaux
    Par mbibim63 dans le forum MS SQL Server
    Réponses: 10
    Dernier message: 02/06/2005, 18h38

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