• User

    codifica utf8

    Ciao a tutti,
    ho un piccolo script in php dove alla fine vado a salvare delle informazioni nel file meteo.txt.
    Come faccio a fare in modo che lo script salvi le informazioni nel file di testo in codifica utf8.
    Ho il classico problema delle lettere accentate.
    Ho provato a modificare il file di testo con blocco note e a salvarlo con codifica utf8 e tutto funziona.
    Vi posto la parte dello script interessata:
    <?
    // Apro il file meteo.txt
    $file=fopen("meteo.txt","w");
    //Assegno alla variabile meteo_new il testo del nuovo meteo
    $meteo_new=$_POST["meteo"];
    //Scrivo all'inizio del file &meteo
    $meteo_new="&meteo=".$meteo_new;
    // Scrivo nel file
    fwrite($file,$meteo_new);
    // Chiudo il file
    fclose($file);

    ?>

    Grazie.


  • User Attivo

    PHP ha una funzione utf8_encode() che permette di codificare una stringa da ISO-8859-1 a UTF-8.

    Sintassi: string utf8_encode(string $data);

    Ciao!


  • User

    @Sups said:

    PHP ha una funzione utf8_encode() che permette di codificare una stringa da ISO-8859-1 a UTF-8.

    Sintassi: string utf8_encode(string $data);

    Ciao!

    Ho già provato ma non funziona.
    Al momento che vado a salvare con fwrite sembra che venga codificato in un altro modo.
    Come posso fare?
    Questo che ti riporto sotto è il risultato del file inserendo string utf8_encode(string $data);
    &meteo=VENERDI'<br>
    Molto mosso da N/NO il mar di Sardegna, mosso da NE il Tirreno settore ....

    come vedi il carattere ' viene sostituito con ' ❌x:x


  • User

    vi inserisco il nuovo script con utf8_encode:
    <?
    // Apro il file meteo.txt
    $file=fopen("meteo.txt","w");
    //Assegno alla variabile meteo_new il testo del nuovo meteo
    $meteo_new=$_POST["meteo"];
    //Scrivo all'inizio del file &meteo
    $meteo_new="&meteo=".$meteo_new;
    // utf8_encode permette la codifica in formato utf8
    $meteo_new=utf8_encode($meteo_new);
    // Scrivo nel file
    fwrite($file,$meteo_new);
    // Chiudo il file
    fclose($file);
    //
    ?>

    ho sempre il solito risultato


  • User Attivo

    Per rimuovere le slashes dal testo usa stripslashes();

    Sintassi: *string *stripslashes(*string *$stringa);

    Se il problema è negli accenti serve questa funzione, quella precedente serve per rimuovere il triangolino con il punto interrogativo in presenza di lettere accentate come à è ì ò.

    Ciao!