Pagina 1 di 1

[php] gestione caratteri accentati su file

Inviato: dom 9 mar 2008, 10:37
da smtux
salve,
vi spiego il mio problema, sto realizzando un form in php in cui l'utente può scrivere quello che vuole e quindi anche caratteri accentati.
Il contenuto lo salvo su file ed eventualmente in maniera asincrona l'utente può decidere di visualizzare il file.

Come gestite i caratteri accentati?
Ho provato ad usare addslashes e stripslashes nel seguente modo:

Codice: Seleziona tutto

$testo_da_salvare_nel_file = addslashes($testo_da_salvare_nel_file);
mentre

Codice: Seleziona tutto

$corpo_dl_file_da_visualizzare = stripslashes($corpo_dl_file_da_visualizzare);
Suggerimenti?

Altra domanda se poi il file lo volessi inviare tramite email, non è che dopo aver usato la funzione addslashes ha dei caratteri che mi modificano il contenuto?

grazie

Re: [php] gestione caratteri accentati su file

Inviato: dom 9 mar 2008, 11:39
da alessiodf
add/strip slashes non fixano assolutamente le lettere accentate! quelli aggiungono/tolgono gli slashes nei vari quote.. tipo " diventa \" ecc...

quello che dici tu, sta tutto nella codifica della pagina, che deve essere coerente.. se fai il content della fagina php (anzi, la risposta in html) in UTF-8, il form prendera' dall'utente caratteri codificadi in utf-8 e tu, lato php, li salvi su file nel suddetto formato.
semmai, dopo che hai preso il POST, php puo' automaticamente inserire gli slashes sui quote (questo in base al php.ini) e li', prima di salvare il post nel file, devi dargli uno stripslashes!

se poi vuoi codificare l'input dell'utente in xhtml, usa la funzione htmlspecialcharacter, che mantiene la codifica che gli passi!

saluti

Re: [php] gestione caratteri accentati su file

Inviato: mar 11 mar 2008, 19:34
da smtux
alessiodf ha scritto:add/strip slashes non fixano assolutamente le lettere accentate! quelli aggiungono/tolgono gli slashes nei vari quote.. tipo " diventa \" ecc...

quello che dici tu, sta tutto nella codifica della pagina, che deve essere coerente.. se fai il content della fagina php (anzi, la risposta in html) in UTF-8, il form prendera' dall'utente caratteri codificadi in utf-8 e tu, lato php, li salvi su file nel suddetto formato.
semmai, dopo che hai preso il POST, php puo' automaticamente inserire gli slashes sui quote (questo in base al php.ini) e li', prima di salvare il post nel file, devi dargli uno stripslashes!

se poi vuoi codificare l'input dell'utente in xhtml, usa la funzione htmlspecialcharacter, che mantiene la codifica che gli passi!

saluti
grazie mille della risposta ma non ho capito molto... infatti sono agli inizi di php..
potresti darmi alcune delucidazioni in più...
grazie

Re: [php] gestione caratteri accentati su file

Inviato: mar 11 mar 2008, 20:03
da alessiodf
smtux ha scritto:
alessiodf ha scritto:add/strip slashes non fixano assolutamente le lettere accentate! quelli aggiungono/tolgono gli slashes nei vari quote.. tipo " diventa \" ecc...

quello che dici tu, sta tutto nella codifica della pagina, che deve essere coerente.. se fai il content della fagina php (anzi, la risposta in html) in UTF-8, il form prendera' dall'utente caratteri codificadi in utf-8 e tu, lato php, li salvi su file nel suddetto formato.
semmai, dopo che hai preso il POST, php puo' automaticamente inserire gli slashes sui quote (questo in base al php.ini) e li', prima di salvare il post nel file, devi dargli uno stripslashes!

se poi vuoi codificare l'input dell'utente in xhtml, usa la funzione htmlspecialcharacter, che mantiene la codifica che gli passi!

saluti
grazie mille della risposta ma non ho capito molto... infatti sono agli inizi di php..
potresti darmi alcune delucidazioni in più...
grazie
http://it.php.net/manual/en/function.htmlentities.php
per il resto con l'esperienza si impara tutto :D

good luck!

Re: [php] gestione caratteri accentati su file

Inviato: mer 12 mar 2008, 21:24
da smtux
grazie... funziona tutto.