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 :

Encodage utf8 pour géréner un document OpenXML


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 128
    Par défaut Encodage utf8 pour géréner un document OpenXML
    Bonjour à tous,

    Je génère grâce à un script php un fichier openXML. A la création de ce document je définie que son encodage se fera en utf-8:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $word = new DOMDocument('1.0', 'utf-8');
    C'est imposé si je veux que le document soit lu par Word.

    Le point sur lequel je bloque un peu, c'est que quand je veux convertir des caractères qui ne sont pas en utf8 (comme ci-dessous), ca ne fonctionne pas. Dans le document généré j'ai un espace, un vide à la place du caractère.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $XMLText = $word->createElement('w:t', utf8_encode('€ :'));
    C'est tout aussi vrai pour des chaînes de caractères avec des accents.
    C'est exactement comme si la fonction utf8_encode ne faisait pas son boulot.

    J'ai essayé aussi avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    iconv('ISO-8859-1','UTF-8','€')
    J'ai le même résultat.

    Je suis très certainement passé à côté de quelque chose,

    Si celà saute aux yeux de quelqu'un, je le remercie par avance,

    Vincent

  2. #2
    Membre Expert
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Par défaut
    et sans utf8_encode ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 128
    Par défaut
    j'ai un caractère inconnu genre: �

    et word ne m'ouvre pas le document...

  4. #4
    Membre Expert
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Par défaut
    Dans ce cas je dit toujours "vérifies que ton éditeur enregistrer le fichier en utf8".

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 128
    Par défaut
    Oui en effet mon éditeur est en ANSI, ainsi que mon code php:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header('Content-Type: text/html; charset=ISO-8859-1');
    Mais en quoi celà est un problème. Le but de la fonction utf8_encode($toto), c'est bien d'encoder la variable $toto en utf8. Donc quelque soit l'encodage que j'utilise pour mon code, ou ma variable $toto, le but de la fonction c'est qu'au moment de l'exécution il me renvoie un résultat en ut8.

    non?

  6. #6
    Membre Expert
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Par défaut
    en fait, l'encodage de base reste celui du document lui même, si tout le document est bien encodé en utf8 t'auras plus d'utiliser utf8_encode.

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

Discussions similaires

  1. Quels modules Perl pour gérer les documents XML ?
    Par djibril dans le forum Modules
    Réponses: 8
    Dernier message: 02/12/2010, 23h54
  2. Réponses: 0
    Dernier message: 19/01/2010, 19h01
  3. Réponses: 2
    Dernier message: 17/06/2009, 08h25
  4. Réponses: 24
    Dernier message: 06/02/2008, 13h59
  5. meilleur solution pour créer un document imprimable???
    Par martimacfly dans le forum XML/XSL et SOAP
    Réponses: 26
    Dernier message: 08/07/2004, 10h09

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