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 :

Convertir un caractère de la forme "\u00e2" [PHP 5.3]


Sujet :

Langage PHP

  1. #1
    Invité
    Invité(e)
    Par défaut Convertir un caractère de la forme "\u00e2"
    Bonjour à vous,

    J'aurais besoin d'un coup de main sur un problème qui me turlupine depuis quelques jours !

    J'interroge un webservice qui me renvoi un string où les caractères accentués sont codés sous la forme "\u00e2".

    Sauriez-vous comment je pourrais convertir ce format en quelque chose de lisible ? ( ma page est en utf8 )

    Merci d'avance !

  2. #2
    Membre expérimenté Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Points : 1 414
    Points
    1 414
    Par défaut
    As toi de le mettre en UTF-8
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    header ('Content-Type: text/plain; charset=ISO-8859-1');
     
    $s = substr('\u00e2',2,4);
    $encoded = chr(hexdec($s));
     
    echo 'Le caractère: ', $encoded;
    ?>
    Je n'ai trouvé que cette méthode, à défaut d'autre chose puisque les fonctions unicode ne sont dispo qu'à partir de php6 semble-t-il.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Merci de ton aide, il me manquait effectivement les fonctions chr et hexdec !
    Je vais tenter de réaliser un "petit" preg pour automatiser tout cela !

  4. #4
    Invité
    Invité(e)
    Par défaut
    Et voilà :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $chaine = preg_replace("#\\\u([a-zA-Z0-9]{2,4})#e", "chr(hexdec('$1'))", $chaine);

  5. #5
    Membre expérimenté Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Points : 1 414
    Points
    1 414
    Par défaut
    merci d'avoir posté l'expression regulière.
    @+

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

Discussions similaires

  1. Convertir des caractères en code Morse
    Par programation dans le forum C++
    Réponses: 3
    Dernier message: 04/02/2006, 01h08
  2. Réponses: 6
    Dernier message: 06/03/2005, 20h47

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