Pare che ho risolto. Ho cambiato il form.
Prima lo avevo scritto in HTML tutto a mano campo per campo nella forma
Codice PHP:
<tr>
<td>username (*)</td>
<td><input type="text" name="username" size="30" value="<?php echo $username; ?>" class="si" /> </td>
</tr>
Ora l'ho riscritto in PHP ciclando sui nomi dei campi.
Codice PHP:
<?php
for($i=0;$i<count($fields_in_form);$i++) {
$ast = "";
$class = "";
if (in_array($fields_in_form[$i], $fields_request)) {
$ast = " (*)";
$class = " class=\"si\"";
}
echo "<tr>\n";
echo "<td>" . $fields_in_form[$i] . $ast . "</td>"; // $_SESSION['sess_citta']
// ($error == "errore") ? $_SESSION['sess_'.$fields_in_form[$i].''] : "";
echo "<td><input type=\"text\" name=\"username\" size=\"30\" value=\"" . ($error == "errore" ? $_SESSION['sess_'.$fields_in_form[$i].''] : "") . "\" " . $class . " /></td>";
echo "</tr>\n";
}
?>
So che i due modi sono simili, ma evidentemente prima c'era qualche errore di sintassi o errore formale in alcuni dei campi che non sono riuscito a trovare.
Ora il ritorno al form è regolare e le vocali accentate sono trattate tutte alla stessa maniera in tutte le interfacce: form, lettura tabella e phpmyadmin.
Per la collation del DB che ho in locale ho quello montato da Appserv. Forse ho sbagliato qualcosa durante il setup. Ma a sto punto suppongo che debba tenermelo così. Non vorrei rovinare tutto quel che ho fatto finora.
Ti ringrazio di tutti i suggerimenti che mi hai dato. Molti di questi per me sono nuovi (come la nuova istruzione da inserire dopo la scelta del DB e come tener maggior cura nello scegliere le collation e i charset). Un grazie anche per avermi fatto scaricare il Notepad++.
