[Resolu] Bug de lecture de fichier : encodage

Bug de lecture de fichier : encodage [Resolu] - PHP - Programmation

Marsh Posté le 13-05-2005 à 23:59:17    

Bonsoir les jeunes :o
Voilà la situation :
 

  • Un morceau de code qui me crée un fichier xml


Code :
  1. $doc = new DOMDocument('1.0', 'utf-8');
  2.         $doc->formatOutput = true;
  3.         $config = $doc->createElement('config');
  4.         $config = $doc->appendChild($config);
  5.         foreach ($post as $name => $value) {
  6.            
  7.             $value = htmlentities($value);
  8.             $item = $doc->createElement('item');
  9.             $attr = $config->appendChild($item);
  10.             $attr->setAttribute('name', $name);
  11.             $content = $doc->createTextNode($value);
  12.             $content = $item->appendChild($content);
  13.         }


 

  • Un morceau de code qui me lit ce même fichier xml


Code :
  1. $xml = simplexml_load_file('fichier xml');
  2.     // traitement


 
Jusqu'ici tout va bien, sauf que si dans mon formulaire de remplissage je mets un accent j'obtiens ceci sur la ligne du simplexml_load_file() :
 

Citation :


Warning: config.xml:11: parser error : Input is not proper UTF-8, indicate encoding !


 
Encodage que j'ai déjà spécifié dans le fichier...
J'ai aussi essayé un utf8_encode() en amont mais rien à faire :/
 
Un peu d'aide ne serait pas de refus [:gilbert gosseyn]
(A noter que ça fait déjà un moment que je bidouille dessus et que sauf biglage aigü j'ai rien vu dans la doc qui pourrait m'aider)
Merci :)


Message édité par Puissance Athlon XP le 14-05-2005 à 23:40:47
Reply

Marsh Posté le 13-05-2005 à 23:59:17   

Reply

Marsh Posté le 14-05-2005 à 00:02:36    

Et la question subsidiare :
J'ai un morceau de code organisé comme ça :
 

Code :
  1. if () {
  2.        
  3.     // traitement
  4.    
  5.     if () {
  6.        
  7.         // traitement
  8.     } else {
  9.      // traitement B
  10.    
  11.     }
  12.    
  13. } else {
  14.     // traitement B
  15.    
  16. }


 
Comment je pourrais obtenir le même résultat en n'ayant que une fois le traitement B dans le code ?

Reply

Marsh Posté le 14-05-2005 à 00:04:52    

if(  &&  )
  // a
else
  // b
 
?


---------------
Nos estans firs di nosse pitite patreye...
Reply

Marsh Posté le 14-05-2005 à 02:49:23    

Ben il faut que le premier traitement puisse être exécuté même si la deuxieme condition est fausse

Reply

Marsh Posté le 14-05-2005 à 08:14:20    

if(  OR  ) ?


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 14-05-2005 à 08:25:39    

Ca colle pas non plus :D
Bref, aucune idée pour le bug ? :/

Reply

Marsh Posté le 14-05-2005 à 08:35:33    

Tu l'as mis ou le utf8_encode


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 14-05-2005 à 16:20:29    

Comme ça :
 

Code :
  1. utf8_encode( htmlentities( $value ) )

Reply

Marsh Posté le 14-05-2005 à 23:40:28    

Bon j'ai laissé tombé j'ai fait autrement [:spamafote]

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed