Visualizzazione risultati 1 fino 6 di 6

Discussione: SimpleXML & caratteri accentati

  1. #1
    Guest

    Angry SimpleXML & caratteri accentati

    Ciao a tutti!!
    Io uso SimpleXML per leggere un file XML con la codifica ISO-8859-1, che può quindi contenere dei caratteri accentati... quando poi però leggo il file da codice, al posto dei caratteri speciali mette dei simboli strani... come risolvo il problema?
    Grazie!!

  2. #2
    Guest

    Predefinito

    prima di stampare la stringa passala alla funzione htmlentities. Ciao

  3. #3
    Guest

    Predefinito

    N, non funziona neanche così... quando ottengo la stringa da SimpleXML la sostituzione è già stata effettuata, quindi non cambia nulla...

  4. #4
    Guest

    Predefinito

    Durante la scrittura del file XML usa la funzione htmlentities() come già suggerito. Ricordati che il testo dovrà essere contenuto nel tag <![CDATA[ e ]]>.

  5. #5
    L'avatar di mycarlo
    mycarlo non è connesso Utente attivo
    Data registrazione
    06-10-2009
    Residenza
    $this->s50
    Messaggi
    467

    Predefinito

    La codifica di SimpleXML è utf-8 e non si può cambiare.

    Codice PHP:
    $xml = simplexml_load_file('file.xml');

    $xml->nodo = 'òà test'; // simplexml trasforma la codifica di questa stringa in utf_8 quando lo andrai a salvare

    file_put_contents('file.xml', $xml->asXML());
    Quando vuoi far visualizzare i dati con una codifica diversa da utf-8 dovrai fare così:

    Codice PHP:
    $xml = simplexml_load_file('file.xml');
    $nodo = utf8_decode($xml->nodo);

    echo
    htmlentities($nodo);
    Spero di essere stato chiaro, se hai altri dubbi chiedi pure.

  6. #6
    Guest

    Predefinito

    Così sembra funzionare, grazie Carlo!!
    Adesso ho un problema solo su un file, ma credo che sia colpa mia, anche altri programmi hanno porblemi con quel particolare file...

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •