Server Locale PHP - PHP-CAR.SPECIALI - un editor - JQuery - CAPTCHA - HOME - Contatti - Osteoporosi - Radioactivity
PHP, FORMS ed ACCENTI..
Un problema molto comune in PHP è quello dei caratteri speciali, ad esempio le lettere accentate.
L'esempio classico è nei form, quando si introduce in un input type='text' o in una 'textarea' una lettera accentata, questa viene restituita dal form in modo scorretto, con la lettera accentata sostituita da caratteri 'strani'.
Questo è un form di esempio
<form action='prova.php' method='post>
parola <input type='text' name='parola'>
<input type='submit' value='invia'>
</form>
Ecco come si rimedia facilmente al problema:
  1. introdurre la seguente riga in <head>:
    <META http-equiv="Content-Type" content="text/html; charset=utf-8">
  2. quando si decodifica la variabile contenente lettere accentate, (ad esempio $_POST['parola']), usare la seguente riga:
    $parola = htmlentities(stripslashes(utf8_decode($_POST['parola'])));
Fate la prova e vedrete che finalmente i caratteri accentati verranno interpretati e stampati correttamente. Se non dovesse funzionare (a me è successo con PHP 5.4.xxx), decodificare la variabile $_POST['parola'] contenente gli accenti, come segue:
$parola = htmlentities($_POST['parola'], ENT_QUOTES, "UTF-8");
(Vers. 2.1)  Modificato il 13-6-2013
http://www.tarozzi.net   
disclaimer