• User

    Testo preso da foglio XML -> problemi con i caratteri accentati..

    Ciao a tutti; probabilmente il problema è già stato trattato ma la funzione di ricerca sul forum non mi ha dato risultati utili. Il mio problema in sostanza è questo: gestisco i messaggi e le scritte del mio sito con fogli xml (uno per lingua). Ad esempio nel file it.xml ho:

    <?xml version="1.0" encoding="iso-8859-1"?>
    <interface>
    ...
    <message>
    <id>3000</id>
    <text>Questa è una mail</text>
    </message>
    ...

    Ora attraverso la libreria SimpleXML di Php vado a prendere quel messaggio e con un echo lo stampo a video. Tuttavia il risultato è questo:

    Questa è una mail

    (PS: La classe php che gestisce il tutto ritorna la stringa con la funzione htmlentities() )

    dove sbaglio?

    Grazie a tutti.. Ciao e buona domenica..


  • Super User

    Prova così:

    function accenti(){
    $text = str_replace("è", "è", $text);
    $text = str_replace("à", "à", $text);
    $text = str_replace("ù", "ù", $text);}

    Poi:

    accenti(htmlentities());

    Se nn dovesse funzionare sappi che devi sostituire a mano è con "è"


  • User

    No neanche così funziona... Ho provato a mettere direttamente nei campi dell'xml

    è

    ma la funzione simplexml_load_file() si arrabbia..

    😞


  • User

    Ho risolto il problema agendo a monte. Ho cambiato la codifica dei folgi xml in UTF-8; poi quando la mia classe ritorna il testo faccio così:

    htmlentities(utf8_decode($DesireValue));

    Per ora sembra andare tutto correttamente..

    Grazie per il vostro supporto; ciao ciao..