[php] gestione caratteri accentati su file

Forum dedicato alla programmazione.

Moderatore: Staff

Regole del forum
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
smtux
Linux 3.x
Linux 3.x
Messaggi: 977
Iscritto il: gio 1 set 2005, 0:00
Slackware: 12.0
Località: somewhere in the time

[php] gestione caratteri accentati su file

Messaggio 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

Avatar utente
alessiodf
Linux 3.x
Linux 3.x
Messaggi: 823
Iscritto il: ven 14 ott 2005, 21:04
Slackware: current
Kernel: 2.6.26.4
Desktop: Kde 4.1
Località: Roma
Contatta:

Re: [php] gestione caratteri accentati su file

Messaggio 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

smtux
Linux 3.x
Linux 3.x
Messaggi: 977
Iscritto il: gio 1 set 2005, 0:00
Slackware: 12.0
Località: somewhere in the time

Re: [php] gestione caratteri accentati su file

Messaggio 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

Avatar utente
alessiodf
Linux 3.x
Linux 3.x
Messaggi: 823
Iscritto il: ven 14 ott 2005, 21:04
Slackware: current
Kernel: 2.6.26.4
Desktop: Kde 4.1
Località: Roma
Contatta:

Re: [php] gestione caratteri accentati su file

Messaggio 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!

smtux
Linux 3.x
Linux 3.x
Messaggi: 977
Iscritto il: gio 1 set 2005, 0:00
Slackware: 12.0
Località: somewhere in the time

Re: [php] gestione caratteri accentati su file

Messaggio da smtux »

grazie... funziona tutto.

Rispondi