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 :

Décode mon UTF !


Sujet :

Langage PHP

  1. #1
    Nouveau candidat au Club
    Inscrit en
    Novembre 2008
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 1
    Par défaut Décode mon UTF !
    Bonjour à tous,

    j'ai une chaine de caractère (en UTF8) représentant une notation JSON. Quand je passe la fonction UTF8_decode il ne se passe strictement rien (la chaine reste identique à l'original) et je ne retrouve pas mes beaux petits accents...

    exemple de chaine :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {"txt":"root folder","id":"D:\/chat bott\u00e9","items":[{"id":"D:\/chat bott\u00e9\/accentu\u00e9.txt","txt":"accentu\u00e9.txt"}]}
    Ou peut-être l'astuce ? Les guillemets ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $chaine=json_encode($files);
    echo $chaine."<br>";
    echo utf8_decode($chaine)."<br>";
    Merci pour votre aide !

  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
    L'encodage de la page, l'enregistrement du fichier, l'encodage du serveur.

  3. #3
    Membre chevronné Avatar de goodpz
    Profil pro
    Inscrit en
    Février 2007
    Messages
    475
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 475
    Par défaut
    Citation Envoyé par snaileater Voir le message
    Quand je passe la fonction UTF8_decode il ne se passe strictement rien (la chaine reste identique à l'original) et je ne retrouve pas mes beaux petits accents...
    Normal, car la chaîne "jsonée" n'est pas encodée en utf8. Les caractères spéciaux qu'elle contient sont "décrits" à l'aide des séquences d'échappement "\u". Pour retrouver tes accents, il faut que tu passes par json_decode() ou écrire ta propre fonction qui transforme les \u en chars réels. A moins que tu sois avec php6 qui embarque des fonctions unicode_* spéciales pour faire ce genre de conversion.

    Essai ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $s = preg_replace('/\\\u([0-9A-F]{4})/ei', "chr(hexdec('\\1'))", $chaine);

Discussions similaires

  1. [connexion][CVS] Toujours mon probleme de connexion
    Par Gromitou dans le forum JBuilder
    Réponses: 11
    Dernier message: 07/11/2003, 18h41
  2. Comment être sure que mon appli prenne le focus ?
    Par AmaX dans le forum Composants VCL
    Réponses: 2
    Dernier message: 21/12/2002, 15h00
  3. Impossible de quitter mon application!
    Par Bouillou dans le forum C++Builder
    Réponses: 4
    Dernier message: 12/11/2002, 20h43
  4. Tjours mon pb de date de répertoire
    Par mjacque dans le forum Langage
    Réponses: 5
    Dernier message: 30/08/2002, 09h50
  5. Redéfinir l'événement OnExit de mon composant TEditFloat
    Par Seb des Monts dans le forum C++Builder
    Réponses: 5
    Dernier message: 18/06/2002, 16h10

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