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

Langage PHP Discussion :

Problème avec apostrophe et signe euro


Sujet :

Langage PHP

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Problème avec apostrophe et signe euro
    Bonjour,

    je suis en train de m'amuser à rentrer des infos récupéré d'un flux rss dans une base de données. Pour le moment tous fonctionne correctement et j'ai tout en utf-8 sauf le fichier XML d'où provient le flux qui lui est apparemment en iso-8859-1 (dû moins c'est version="1.0" encoding="ISO-8859-1").

    Le soucis est que je récupère tout correctement niveau accentuation, c'est enregistré avec les accents correctement dans ma base de données aussi, mais dès qu'il y a un apostrophe ou le sigle euro, je récupère alors un petit carré avec des chiffres dedans (0092 pour l'apostrophe par exemple). J'ai beau utilisé utf8_decode/utf8_encode ca ne change rien, je récupère alors soit un losange noir avec ? � dedans soit Â' à la place de l'apostrophe, sans parler que dû coups les caractères qui était correctement accentué avant partent eux aussi en vrille.

    Donc si quelqu'un a une petite idée du comment transformer ce carré 0092 en véritable apostrophe, je suis preneur

    merci

  2. #2
    Membre expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Points : 3 947
    Points
    3 947
    Par défaut
    Salut

    Ca un moment maintenant que je n'utilise plus de l'iso-8859-1 (essentiellement du utf-8), donc sauf erreur, l'iso-8859-1 contient très peu de caractères spéciaux (comme ô, ù, à, etc ...) et aussi le signe €.

    Si le flux est l'iso-8859-1 et contient ce genre de caractères j'ai tendance à dire que c'est peine perdue.
    C'est une erreur de la part de celui qui génère ce flux.

    Ceci dit, pas forcément.
    Il faudrait le lien vers ce flux contenant ces divers caractères là pour voir comment il est construit (la source).
    Ca peu venir aussi dans la manière dont tu récupères le flux (en admettant qu'il soit bien codé).


    D'ailleurs, si tu pointes directement sur ce flux via ton navigateur, est-ce que tu visualises bien ces caractères ?
    Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20
    Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra]

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Salut,

    Pour ce qui est du flux, voilà son adresse :

    http://feeds.feedburner.com/Revioo

    Le soucis ce pose par exemple sur l'item <title> se nommant "Revioo : En route pour l’IT Partners"

    Dans chrome ou firefox quand j'ouvre le flux directement, l'affichage se fait correctement.

    Le truc vraiment bizarre c'est que je n'ai aucun soucis avec les accents, donc je suppose que je fait correctement la récupération de l'iso vers l'utf ?

    Bon après ca me gène pas plus que ca, mais c'est quand même plus propre d'avoir un véritable apostrophe qu'un petit carré avec 0092 dedans

    merci pour la réponse

  4. #4
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2007
    Messages
    748
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 748
    Points : 1 022
    Points
    1 022
    Par défaut
    tu peu regarder du coté de mb_encode_numericentity()

    pour obtenir des caractères iso en html, puis les rentrer dans la bdd
    Conception / Dev

  5. #5
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Effectivement, ca fonctionne !

    mais j'ai tâtonné un peu car je ne savais pas quoi mettre dans l'array $convmap

    en faisant quelque recherche sur le net, j'ai trouvé ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $convmap = array(0x7F, 0xFFFFFF, 0x0, 0xFFFFFF);
    $titre = mb_encode_numericentity($titre, $convmap, 'UTF-8');
    (venant de spip)

    et après un rapide essai, c'est concluant, j'ai bien mes petits carré 0092 qui disparaissent, par contre maintenant va falloir que je comprenne la signification des valeurs dans cet array

    edit : oups, quel mal élevé je fais... j'ai oublié de dire un grand merci aux personnes ayant apporté une réponse

  6. #6
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2007
    Messages
    748
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 748
    Points : 1 022
    Points
    1 022
    Conception / Dev

Discussions similaires

  1. Problème avec apostrophe
    Par ulysse031 dans le forum JDBC
    Réponses: 2
    Dernier message: 20/07/2011, 21h30
  2. Problème avec apostrophe
    Par kensem dans le forum PL/SQL
    Réponses: 2
    Dernier message: 25/05/2011, 11h05
  3. [RegEx] Problème avec apostrophe
    Par chat de nuit dans le forum Langage
    Réponses: 2
    Dernier message: 17/11/2010, 12h13
  4. Problème avec apostrophe
    Par passion_info dans le forum SQL
    Réponses: 4
    Dernier message: 25/09/2010, 21h57
  5. problème avec apostrophe
    Par nadds dans le forum Langage
    Réponses: 2
    Dernier message: 31/10/2005, 11h13

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