Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    XML e caratteri speciali

    Ciao ragazzi,
    il problema che vi espongo oggi ha a che fare con la codifica dei caratteri speciali in xml.

    Ho un database in utf8 in cui ci stanno dei dati inseriti tramite

    $nome = ucwords(trim(htmlentities($_POST['nome'], ENT_QUOTES, "UTF-8")));

    Quando recupero questo campo per creare un file xml, se contiene caratteri speciali (tipo &amp mi da errore perché il documento non è ben formato.

    al momento recupero i dati così

    echo "<nome>".utf8_encode(html_entity_decode($data->nome))."</nome>\n";

    ma evidentemente non va bene. Che funzione devo usare per creare un xml ben formato e convertire correttamente i caratteri?

    Grazie
    Disegnatori e romanzieri d'Italia, visitate il mio sito, cerchiamo favolieri dark ed illustratori dark fantasy... http://www.neilgaimania.it

  2. #2
    UPPETTINO
    Disegnatori e romanzieri d'Italia, visitate il mio sito, cerchiamo favolieri dark ed illustratori dark fantasy... http://www.neilgaimania.it

  3. #3
    UP
    Disegnatori e romanzieri d'Italia, visitate il mio sito, cerchiamo favolieri dark ed illustratori dark fantasy... http://www.neilgaimania.it

  4. #4
    utf8_encode(html_entity_decode($data->nome))
    che senso ha questo accrocchio la stringa è già utf-8
    e con le entità codificate quindi !!!!!


    prova così

    Codice PHP:
    $chars = array("&", "<", ">", '"',"'");
    $entities= array('&amp;','&lt;','&gt;','&quot;',''');
    $string = str_replace($chars, $entities, $_POST['nome']);
    // si presume che la database Collation sia Utf-8

    header('Content-type: text/xml; charset=utf-8');
    echo "<?xml version="1.0" encoding="utf-8" ?>";
    echo "<nome>".$string."</nome>";
    la str_replace perchè htmlentities non rimpiazza
    l'apice singolo.


    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  5. #5
    Ragionissima sull'accrocchio...

    Ora ho solo il dato, le cui entità sono codificate in utf8.

    Tuttavia, un codice del genere non passa

    codice:
    <?xml version="1.0"?>
    <corsista><nome>Coi& ograve;</nome>
    ma perché non si codificano così i caratteri speciali?

    PS:
    ho messo lo spazio altrimenti il form codifica l'entità
    Disegnatori e romanzieri d'Italia, visitate il mio sito, cerchiamo favolieri dark ed illustratori dark fantasy... http://www.neilgaimania.it

  6. #6
    Originariamente inviato da pezzo
    Ragionissima sull'accrocchio...

    Ora ho solo il dato, le cui entità sono codificate in utf8.

    Tuttavia, un codice del genere non passa

    codice:
    <?xml version="1.0"?>
    <corsista><nome>Coi& ograve;</nome>
    ma perché non si codificano così i caratteri speciali?

    PS:
    ho messo lo spazio altrimenti il form codifica l'entità
    Codice PHP:
    function xmlEntities($str

        
    $xml = array('"','&','&','<','>',' ','¡','¢','£','¤','¥','¦','§','¨','©','ª','«','¬','­','®','¯','°','±','²','³','´','µ','¶','·','¸','¹','º','»','¼','½','¾','¿','À','Á','Â','Ã','Ä','Å','Æ','Ç','È','É','Ê','Ë','Ì','Í','Î','Ï','Ð','Ñ','Ò','Ó','Ô','Õ','Ö','×','Ø','Ù','Ú','Û','Ü','Ý','Þ','ß','à','á','â','ã','ä','å','æ','ç','è','é','ê','ë','ì','í','î','ï','ð','ñ','ò','ó','ô','õ','ö','÷','ø','ù','ú','û','ü','ý','þ','ÿ'); 
        
    $html = array('&quot;','&amp;','&amp;','&lt;','&gt;','','&iexcl;','&cent;','&pound;','&curren;','&yen;','&brvbar;','&sect;','&uml;','&copy;','&ordf;','&laquo;','&not;','&shy;','&reg;','&macr;','&deg;','&plusmn;','&sup2;','&sup3;','&acute;','&micro;','&para;','&middot;','&cedil;','&sup1;','&ordm;','&raquo;','&frac14;','&frac12;','&frac34;','&iquest;','&Agrave;','&Aacute;','&Acirc;','&Atilde;','&Auml;','&Aring;','&AElig;','&Ccedil;','&Egrave;','&Eacute;','&Ecirc;','&Euml;','&Igrave;','&Iacute;','&Icirc;','&Iuml;','&ETH;','&Ntilde;','&Ograve;','&Oacute;','&Ocirc;','&Otilde;','&Ouml;','&times;','&Oslash;','&Ugrave;','&Uacute;','&Ucirc;','&Uuml;','&Yacute;','&THORN;','&szlig;','&agrave;','&aacute;','&acirc;','&atilde;','&auml;','&aring;','&aelig;','&ccedil;','&egrave;','&eacute;','&ecirc;','&euml;','&igrave;','&iacute;','&icirc;','&iuml;','&eth;','&ntilde;','&ograve;','&oacute;','&ocirc;','&otilde;','&ouml;','&divide;','&oslash;','&ugrave;','&uacute;','&ucirc;','&uuml;','&yacute;','&thorn;','&yuml;'); 
        
    $str str_replace($html,$xml,$str); 
        
    $str str_ireplace($html,$xml,$str); 
        return 
    $str
    }
    echo 
    xmlEntities('&egrave;'); 
    A parte che se utilizzi UTF-8 perchè utilizzare le entitie
    se il problema sono le accentate.


    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  7. #7
    scusa l'ignoranza... con utf-8 non ho bisogno di codificare le lettere accentate?

    se non converto è tutto ok?

    quindi basta htmlspecialchars nella codifica del dato in ingresso?
    Disegnatori e romanzieri d'Italia, visitate il mio sito, cerchiamo favolieri dark ed illustratori dark fantasy... http://www.neilgaimania.it

  8. #8
    Originariamente inviato da pezzo
    scusa l'ignoranza... con utf-8 non ho bisogno di codificare le lettere accentate?

    se non converto è tutto ok?

    quindi basta htmlspecialchars nella codifica del dato in ingresso?
    Se hai tutto in utf-8 si.

    qui ci ho sbattuto la testa pure io


    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  9. #9
    Funziona! Ho perso qualche giorno a rimettere le cose a posto ma adesso funge senza problemi!

    Grazie mille sei stato davvero preziosissimo!

    Disegnatori e romanzieri d'Italia, visitate il mio sito, cerchiamo favolieri dark ed illustratori dark fantasy... http://www.neilgaimania.it

  10. #10
    Ho cantato vittoria troppo presto.

    Mi sono appena accorto che in un menu a tendina popolato via db, appare

    Pubblicit?

    Perché? la pagina html ha codifica UTF-8, la tabella ut8_bin, il file è salvato in utf-8...

    che devo cambiare ancora?
    Disegnatori e romanzieri d'Italia, visitate il mio sito, cerchiamo favolieri dark ed illustratori dark fantasy... http://www.neilgaimania.it

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 © 2025 vBulletin Solutions, Inc. All rights reserved.