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 :

Souci d'encodage pour générer des XML


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2006
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 102
    Par défaut Souci d'encodage pour générer des XML
    Bonjour bonjour !

    Je rencontre un problème depuis quelques temps et malgrès mes recherches je n'ai pas trouvé de solution satisfaisante...
    C'est pourquoi je m'en remet à vous !

    Je dispose d'un formulaire encodé iso-8859-1 qui envoie des données POST encodées UTF8 à une fonction qui génère un document XML encodé UTF8 à partir des données reçues.
    Ces données se composent essentiellement d'un titre et d'un contenu d'article.

    Problème : les données récupérées par la fonction qui génère les XML posent problème lorsque le/les chaîne(s) contiennent des accents.

    Voici le format de données que je récupère dans la fonction :

    titre à tester accentué
    où la chaîne entrée vaut :

    titre à tester accentué

    J'ai plusieurs questions :

    - Comment convertir ces données pour les rendre telles que lorsque elles ont été entrées ?
    - Comment générer un nom de fichier XML où les espaces sont remplacés par des tirets et les lettres avec accents par leur équivalent sans accent ?

    J'ai essayé tous types de solutions (utiliser str_replace pour remplacer les espaces par des tirets puis utiliser strtr() pour remplacer les lettres avec accents par leur équivalent sans accents...) mais au final j'ai toujours des caractères bizarres et des noms de fichiers invalides

    Exemple de code dont je me suis servi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $titre = str_replace(' ', '-', $titre);
    $titre_ss_accents = strtr($titre, "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ'", "AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn-" );
    Merci de m'éclairer

    Peace

  2. #2
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    Bonjour,

    regarde du côté des fonctions utf8_decode() et utf8_encode()

  3. #3
    Membre confirmé
    Inscrit en
    Décembre 2006
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 102
    Par défaut
    Résolu, à force...

    Dans mon cas :

    - pour formater le titre du document XML :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $titre_temp = utf8_decode(html_entity_decode($post['titre']));
    $titre_temp = strtolower($titre_temp);
    $titre_temp = strtr($titre_temp, "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ -'/", "AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn----" );
    - pour stocker le vrai titre dans le document XML :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $xml .= '<titre>'.html_entity_decode($post['titre']);
    $xml .= '</titre>'."\n";
    Si ça peut aider

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

Discussions similaires

  1. Plug-in Eclipse pour générer des XML
    Par Jehuty57 dans le forum Format d'échange (XML, JSON...)
    Réponses: 0
    Dernier message: 25/11/2009, 14h14
  2. Réponses: 4
    Dernier message: 26/09/2008, 14h16
  3. [ERP Métier] XML pour générer des éditions
    Par c0nd0r2007 dans le forum XQUERY/SGBD
    Réponses: 13
    Dernier message: 07/12/2007, 10h04
  4. Réponses: 1
    Dernier message: 18/05/2006, 22h22

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