Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > XML > DOM
DOM Forum d'entraide pour l'extension DOM permettant de manipuler des documents XML en PHP 5 (approche DOM). Avant de poster -> tutoriels DOM
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/11/2006, 10h24   #1
Modérateur
 
Avatar de Rakken
 
Inscription : août 2006
Messages : 1 207
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 1 207
Points : 1 137
Points : 1 137
Par défaut [DOM] Récupérer l'encodage d'un fichier xml en php5

Bonjour,

Je suis entrain de faire un petit utilitaire qui prend en paramètre un chemin, qui va parcourir récursivement tous les fichiers, trouver les fichiers xml et déterminer leur encodage (utf8, latin...).

Les fichiers xml en question ont éventuellement (mais pas necessairement) des lignes du genre :
Code :
<?xml version="1.0" encoding="utf-8"?>
Est-ce qu'il y a un moyen *propre* récuperer l'encodage utilisé, en utilisant simpleXML, ou DOM ou autre chose ? (J'pourrai évidemment parser toute les lignes jusqu'a trouver un truc du genre "<?xml*encoding="xxx"?> et récuperer le "xxx", mais j'imagine qu'on peut faire ca un peu plus propre.

Je dois également trouver l'encodage reel (du genre, quand on ouvre le fichier avec un éditeur un peu malin, il est capable de dire si le fichier est en utf8, ou autre chose). Une idée pour faire ca un peu élégante ?

Merci d'avance ;-)
--
Rakken
Rakken est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/11/2006, 12h28   #2
Expert Confirmé
 
Avatar de Eusebius
 
Inscription : avril 2003
Messages : 3 286
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 3 286
Points : 3 155
Points : 3 155
En DOM : l'objet DomDocument a une propriété "encoding".
Eusebius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/11/2006, 14h31   #3
Modérateur
 
Avatar de Rakken
 
Inscription : août 2006
Messages : 1 207
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 1 207
Points : 1 137
Points : 1 137
Ok pour le Dom, ca marche nickel. Il ne me reste plus qu'a tester le contenu reel du fichier pour savoir s'il a été encodé en utf8 ou non.

Par contre, j'ai essayé de récuperer le contenu du fichier avec "mb_detect_encoding", et il me détecte automatiquement de l'utf8 des que j'ai un accent dans le fichier, quelque que soit la maniere dont j'ai enregistrée le fichier.

Réciproquement, même si j'enregistre le fichier en utf8, il me détecte le contenu en tant que "asci".

Je pense qu'il faudrait trouver l'info au niveau du fichier directement... mais des fonctions comme "stat" ne donnent pas l'encodage...

Une idée ?

--
Rakken
Rakken est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h34.


 
 
 
 
Partenaires

Hébergement Web