Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    525

    [xml] codifica caratteri

    utilizzo la classe DOMDocument per leggere/scrivere file xml ma non è consentito per via della conversione 'UTF-8' in caso di caratteri accentati ecc. Impostando la dichiarazione
    $xmlDoc=new DOMDocument('1.0','ISO-8859-1'); genera l'errore:

    DOMDocument::saveXML() [domdocument.savexml]: output conversion failed due to conv error, bytes 0xE8 0xE8 0xE8 0x30

    Come risolvere?

    Codice PHP:

    <?php

    //$xmlDoc = new DOMDocument('1.0', 'UTF-8');

    /* <?xml version="1.0" encoding="iso-8859-1"?> */
      
    $xmlDoc=new DOMDocument('1.0','ISO-8859-1'); 
    /* 
       Aggiungo la root, una sola!!! 
       La riga che segue crea un nodo e lo chiama root 
    */ 

       
    $xmlRoot=$xmlDoc->createElement('root'); 
      
    // aggiungo il nodo al documento 
       
    $xmlDoc->appendChild($xmlRoot); 
         
    // aggiungo un nodo "persone" a root 
       
    $xmlPersone=$xmlDoc->createElement('persone'); 
       
    $xmlRoot->appendChild($xmlPersone); 
      
    // aggiungo a "persone" alcuni nodi "persona" con dei figli 
       
    for ($i=0;$i<3;++$i
       { 
          
    $xmlPersona=$xmlDoc->createElement('persona'); 
          
    $xmlPersone->appendChild($xmlPersona); 
             
          
    $xmlNome=$xmlDoc->createElement('nome','èèè'.$i); 
          
    $xmlPersona->appendChild($xmlNome); 
           
          
    $xmlCognome=$xmlDoc->createElement('cognome','cognome'.$i); 
          
    $xmlPersona->appendChild($xmlCognome); 
           
          
    $xmlIndirizzo=$xmlDoc->createElement('indirizzo','indirizzo'.$i); 
         
    // $xmlIndirizzo->appendChild($xmlIndirizzo); 
           
       

        
    // Converto in stringa il documento creato 
       
    $out=$xmlDoc->saveXML(); 
       
       
    $xmlDoc->save('from_dom.xml');     // salva su file


       
    header ("content-type: text/xml"); // visualizza su browser
       
    $out=$xmlDoc->saveXML(); 
       print 
    $out

    ?>

  2. #2
    ti conviene salvare le Entity piuttosto che i caratteri speciali.
    I DON'T Double Click!

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    525
    scusami... non so cosa intendi...

  4. #4
    le HTML entity:

    è => &amp;egrave;
    à => &amp;agrave;

    e così via
    I DON'T Double Click!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.