
Originariamente inviata da
lupusonline
Il mio problema è di far memorizzare nel DB un nominativo inserito da persone straniere quali ad esempi i tedeschi, gli olandesi, i danesi, i cecosclovacchi i cui cognomi o nomi facilmente contengono dei caratteri che noi in Italia non usiamo come ä ö ü Ä Ö Ü ß eccetera.
Da quanto ho potuto valutare i files che sono interessati sono
registrazione.php e
data_insert.php nei cui codici prima si fa l'IMPUT nella form per poi passare con POST i dati al DB.
Allego due immagini che contrengono il tracciato del codice sperandi di far capire dove si deve intevenire affinchè i caratteri stranieri possano poi essere memorizzati nel DB.
Grazie in anticipo per chi dovesse rispondere.
Codice-registrazione.phpA.jpgCodice-data_insert.phpA.jpg
codice:
//Ho provato a modificare alcune istruzioni in registrazione.php nella parte della form
//dove vengono digitati da remoto il nome, il cognome, lo email, la password
<input name="firstname" type="text" size="25" maxlength="30">
//con
<input name="firstnameXXX" type="text" size="25" maxlength="30">
//Il file data_insert.php esegue quanto segue (dove ovviamente è presente quanto io ho modificato ):
$firstname = htmlspecialchars(utf8_decode(trim($firstnameXXX)));
$firstname = mysql_real_escape_string($_POST['firstname']);
//Qui il dato dovrebbe inserirsi nel DB
case "user": $sql = "INSERT INTO user (user_firstname, user_lastname, user_username,
user_password, user_verapassword, user_email, user_nation, user_giornoregistrazione)
VALUES ('$firstname', '$lastname', '$user', '$pass', '$verapassword', '".$_POST['email']."',
'$nation', '$giornoregistrazione')";
//Dopo un'iscrizione di una persona che ha usato i caratteri del tipo tedesco
//se controllo il DB il campo risulta vuoto
//Dove ho errato o come gestire charset=utf-8 che deve essere inserito da qualche parte
//nei seguenti files: registrazione.php, data_insert.php, confirm_reg.php ?