Repository 32bit  Forum
Repository 64bit  Wiki

[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.

[php] gestione caratteri accentati su file

Messaggioda smtux » dom mar 09, 2008 10:37

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
smtux
Linux 2.6
Linux 2.6
 
Messaggi: 977
Iscritto il: mer ago 31, 2005 23:00
Località: somewhere in the time
Slackware: 12.0

Re: [php] gestione caratteri accentati su file

Messaggioda alessiodf » dom mar 09, 2008 11:39

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
Avatar utente
alessiodf
Linux 2.6
Linux 2.6
 
Messaggi: 823
Iscritto il: ven ott 14, 2005 20:04
Località: Roma
Slackware: current
Kernel: 2.6.26.4
Desktop: Kde 4.1

Re: [php] gestione caratteri accentati su file

Messaggioda smtux » mar mar 11, 2008 19:34

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
smtux
Linux 2.6
Linux 2.6
 
Messaggi: 977
Iscritto il: mer ago 31, 2005 23:00
Località: somewhere in the time
Slackware: 12.0

Re: [php] gestione caratteri accentati su file

Messaggioda alessiodf » mar mar 11, 2008 20:03

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!
Avatar utente
alessiodf
Linux 2.6
Linux 2.6
 
Messaggi: 823
Iscritto il: ven ott 14, 2005 20:04
Località: Roma
Slackware: current
Kernel: 2.6.26.4
Desktop: Kde 4.1

Re: [php] gestione caratteri accentati su file

Messaggioda smtux » mer mar 12, 2008 21:24

grazie... funziona tutto.
smtux
Linux 2.6
Linux 2.6
 
Messaggi: 977
Iscritto il: mer ago 31, 2005 23:00
Località: somewhere in the time
Slackware: 12.0


Torna a Programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite

cron