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 :

Conversion UTF => ISO et caractères "exotiques"


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut Conversion UTF => ISO et caractères "exotiques"
    Salut,

    Je cherche à convertir du texte UTF-8 (qui vient d'un flux RSS) en ISO-8859-1. J'ai déjà essayé diverses solutions :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    iconv("UTF-8", "ISO-8859-1", $text);
    Ca marche à peu près, sauf que quand il tombe sur le caractère (apostrophe typographique), il arrête la conversion et tronque la chaine


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mb_convert_encoding($text, "ISO-8859-1", "UTF-8");
    Ca marche un peu mieux (la chaine n'est pas tronquée), mais le caractère est remplacé par un point d'interrogation.


    Y a-t-il un moyen simple de convertir "proprement" ce type de caractère en ISO-8859-1 ? En fait il suffirait de le remplacer par un guillemet simple, mais je préfèrerais éviter ça, surtout qu'il y a probablement d'autres caractères qui posent le même problème...

    Merci d'avance

    EDIT: si vous voulez voir de quel caractère il s'agit, le flux RSS est ici :
    http://tomlev.wordpress.com/feed/
    (voir les apostrophes dans les titres)

  2. #2
    Modérateur
    Avatar de blueice
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2003
    Messages
    3 494
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 494
    Par défaut
    Je ne vois pas d'apostrophes dans les titres

  3. #3
    Membre très actif
    Avatar de keaton7
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    743
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 743
    Par défaut
    Bonjour,

    Je suis pas spécialiste, mais tu n'as pas évoqué la fonction utf8_decode, qui fait exactement ce que tu demandes.

    http://uk2.php.net/utf8-decode

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par blueice Voir le message
    Je ne vois pas d'apostrophes dans les titres
    T'as mal regardé
    Y a 2 titres avec des apostrophes

    Citation Envoyé par keaton2000 Voir le message
    Je suis pas spécialiste, mais tu n'as pas évoqué la fonction utf8_decode, qui fait exactement ce que tu demandes.
    Merci, mais ça donne le même résultat qu'avec mb_convert_encoding

    Le problème c'est que le caractère en question n'existe pas dans le jeu de caractère ISO... il faudrait que je le remplace par un apostrophe "normal"

  5. #5
    mon_nom_est_personne
    Invité(e)
    Par défaut
    ton probleme est super simple, c'est que tes apostrophe n'existent pas en iso. donc quoi que tu fasse elles n'aparaiteront pas.
    La seul solution est de les remplacer par des guillemets standard avant conversion.

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par mon_nom_est_personne Voir le message
    ton probleme est super simple, c'est que tes apostrophe n'existent pas en iso. donc quoi que tu fasse elles n'aparaiteront pas.
    La seul solution est de les remplacer par des guillemets standard avant conversion.
    Oui, c'est bien ce que j'avais conclu... je me demandais s'il n'y avait pas une fonction qui permettait de faire ça automatiquement, mais ça m'étonnerait un peu...
    Ce qui m'agace, c'est que c'est Wordpress qui m'a mis ces caractères idiots, moi j'avais tapé des apostrophes normales

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

Discussions similaires

  1. problème de conversion UTF -> iso
    Par Empty_body dans le forum Général Java
    Réponses: 15
    Dernier message: 01/08/2008, 16h57
  2. Conversion UTF => ISO
    Par komoku dans le forum Langage
    Réponses: 2
    Dernier message: 31/01/2007, 12h14
  3. Encodage de caractères, pb utf-8/iso
    Par fred64 dans le forum Flash
    Réponses: 2
    Dernier message: 22/06/2006, 16h59

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