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 du symbole euro de l'UTF-8 vers l'ISO-8859-1


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    306
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 306
    Points : 194
    Points
    194
    Par défaut Conversion du symbole euro de l'UTF-8 vers l'ISO-8859-1
    Hello,

    j'ai un soucis de conversion du symbole euro de l'UTF-8 vers l'ISO.

    J'utilise pour ma conversion la fonction mb_convert_encoding.

    J'ai essayé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $sChaineUtf8 = "€";
    $sEncodage = mb_detect_encoding($sChaineUtf8.'a','UTF-8,ISO-8859-15, ISO-8859-1');
    $sChaineIso = mb_convert_encoding($sChaineUtf8, 'ISO-8859-1',$sEncodage);
    et ça me donne le caractère : ?

    ET
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $sChaineUtf8 = "€";
    $sEncodage = mb_detect_encoding($sChaineUtf8.'a','UTF-8,ISO-8859-15, ISO-8859-1');
    $sChaineIso = mb_convert_encoding($sChaineUtf8, 'ISO-8859-15',$sEncodage);
    et ça me donne un caractère tout bizarre : ¤

    Est-ce que l'un d'entre vous pourrait m'aider please ?

  2. #2
    Membre habitué
    Inscrit en
    Mai 2007
    Messages
    270
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 270
    Points : 138
    Points
    138
    Par défaut
    salut, pour un seul caractere tu peux pas feinter avec
    str_replace ( 'caractère_bizzar_que_tu_as_a_la_place_de_euro' , '€' , $tachaine);

  3. #3
    Invité
    Invité(e)
    Par défaut
    Pourquoi faire une détection d'encodage, si tu connais déjà la conversion souhaitée ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sChaineIso = mb_convert_encoding($sChaineUtf8, 'ISO-8859-1','UTF-8');
    Et que te retourne la détection d'encodage dans la variable $sEncodage ?

    Sinon essaye avec iconv :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sChaineIso = iconv("ISO-8859-1", "UTF-8", $sChaineUtf8);

  4. #4
    Membre confirmé

    Inscrit en
    Octobre 2007
    Messages
    234
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 234
    Points : 644
    Points
    644
    Par défaut
    Je pense que ça vient de l'encodage utilisé à l'affichage.

    La première conversion donne ? parce que le symbole euro n'existe pas en ISO-8859-1.
    La seconde convertit bien vers de l'ISO-8859-15. Le symbole est alors représenté par un octet de valeur 0xA4. Sauf qu'à l'arrivée, ce qui affiche ton caractère (p.ex. ton navigateur) doit à mon avis l'interpréter comme de l'ISO-8859-1 (et pas 15) ce qui donne pour la valeur 0xA4 le caractère ¤.

Discussions similaires

  1. Encodage UTF-8 vu comme ISO-8859
    Par scrouet dans le forum Requêtes
    Réponses: 4
    Dernier message: 29/10/2012, 21h22
  2. Conversion XML UTF-8 sans BOM à ISO 8859-1
    Par OpenMask dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 24/06/2011, 16h13
  3. Code ASCII du symbole Euro
    Par FW-S dans le forum Delphi
    Réponses: 9
    Dernier message: 03/04/2007, 01h27
  4. conversion iso-8859-1 vers utf-8
    Par gorgonite dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 20/08/2006, 12h49
  5. conversion iso-8859-1 => UTF-8 (unicode)
    Par pierru666 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 30/05/2006, 22h17

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