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