- Home
- Categorie
- Coding e Sistemistica
- PHP
- codifica utf8
-
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.
-
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!
-
@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
-
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
-
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!