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écoder les EXIF


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2008
    Messages : 168
    Points : 49
    Points
    49
    Par défaut Décoder les EXIF
    Bonjour,
    Dans la zone Exif "Commentaires" d'un fichier .jpg je vois avec l'explorateur Windows "19 x 50W à 50% = 950W sur 250x80 = 2m²"
    Pour afficher ce commentaire je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    header('Content-Type: text/html; charset=iso-8859-1'); 
    ini_set('exif.decode_unicode_motorola', 'UCS-2LE'); // Pour décoder exif
    copy(NomDuFichier.jpg, $localURL);
    $exif_data = exif_read_data($localURL,0,true);
    $Comment=$exif_data['WINXP']['Comments'];
    echo $Comment;
    et j'obtiens "19 x 50W � 50% = 950W sur 250x80 = 2m�"

    Je sais que mon hébergeur a modifié quelque chose mais je ne parviens pas à savoir quoi exactement.
    Avant, tout fonctionnait correctement.
    Je suppose que je devrais modifier l'instruction ini_set mais je ne sais pas comment.
    Merci d'avance pour votre aide

  2. #2
    Membre émérite Avatar de vttman
    Homme Profil pro
    Développeur "couteau mosellan"
    Inscrit en
    Décembre 2002
    Messages
    1 140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur "couteau mosellan"
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 140
    Points : 2 286
    Points
    2 286
    Par défaut
    Hello herve,

    Problème d'encodage ...
    Essayer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header('Content-Type: text/html; charset=utf-8');
    et jeter un coup d'oeil sur cet article qui date mais ...
    ... qui aidera à mieux comprendre les histoires d'encodage
    http://j-willette.developpez.com/tut...-site-en-utf8/

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2008
    Messages : 168
    Points : 49
    Points
    49
    Par défaut
    Merci pour ta réponse,
    Cependant tout mon site est actuellement en latin (iso-8859-1 ou Windows-1252)
    Passer en UTF-8 nécessiterait pour les 250 fichiers .php + les 4000 fichier .htm de
    - modifier tous les scripts pour ajouter un charset UTF-8
    - réenregistrer tous les fichiers en UTF-8
    - recharger tous les fichiers sur le serveur
    ce serait vraiment fastidieux.

    Si j'ai bien compris les données Exif sont codées en UCS-2LE (16 bits); il faudrait juste les convertir en latin (8 bits) non ?

    Ceci dit je pense que je deviens fou car je n'ai rien fait d'autre que recharger le script .php sur le serveur et ça marche
    http://www.rudyv.be/Aquarium/RVRT/DIY.php

  4. #4
    Membre émérite Avatar de vttman
    Homme Profil pro
    Développeur "couteau mosellan"
    Inscrit en
    Décembre 2002
    Messages
    1 140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur "couteau mosellan"
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 140
    Points : 2 286
    Points
    2 286
    Par défaut
    Alors dans ce cas regarder du coté d'un éditeur comme notepad++
    pour voir en quoi est/était encodé le .php en question (menu option encodage)
    puis essayer de l'encoder en utf-8/tester et ensuite en iso-8859-1/tester pour
    essayer de reproduire le phénomène et
    voir si finalement cette histoire "de fou" n'était pas simplement lié à un mauvais encodage
    lors de l'édition du .php ... je ne sais pas si je suis clair

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2008
    Messages : 168
    Points : 49
    Points
    49
    Par défaut
    Citation Envoyé par vttman Voir le message
    Alors dans ce cas regarder du coté d'un éditeur comme notepad++
    pour voir en quoi est/était encodé le .php en question
    Le .php est encodé ANSI.
    Les strings inclus dans le php comme le titre "Exemples de réalisations d'éclairages " ne pose pas de problème : les caractères accentués sont parfaitement reproduits.
    Seuls les caractères spéciaux provenant des données Exif ne l'étaient pas.

  6. #6
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 692
    Points : 20 243
    Points
    20 243
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo utf8_decode($Comment);
    ne suffirait pas ?

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2008
    Messages : 168
    Points : 49
    Points
    49
    Par défaut
    Citation Envoyé par grunk Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo utf8_decode($Comment);
    ne suffirait pas ?
    Il n'y avait en fait rien à faire
    Citation Envoyé par Herve_be Voir le message
    je n'ai rien fait d'autre que recharger le script .php sur le serveur et ça marche
    http://www.rudyv.be/Aquarium/RVRT/DIY.php

Discussions similaires

  1. [Turbo Pascal] Coder et décoder les lettres
    Par benabdellah dans le forum Turbo Pascal
    Réponses: 1
    Dernier message: 12/06/2009, 12h34
  2. [Encodage] Décoder les %u1234
    Par lionheart33806 dans le forum Langage
    Réponses: 1
    Dernier message: 31/07/2008, 12h12
  3. [EXIF] récupérer les EXIF
    Par aaristocat dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 17/09/2007, 08h28
  4. Réponses: 2
    Dernier message: 25/05/2006, 18h34
  5. [JSP] encoder et décoder les param d'une URL ?
    Par iubito dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 22/12/2003, 11h34

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