lettere accentate da php a mysql

gandalf1959

Utente Attivo
21 Nov 2013
208
1
18
Buongiorno a tutti.. antico problema, lo so, ho già cercato sia qui sul forum che con google ma non sono stato capace di trovare la soluzione.
Ho questa paginetta php:
PHP:
<?
header('Content-type: text/html;charset=utf-8');

$evento = $_POST['evento'];
$giorno = $_POST['giorno'];
$mese = $_POST['mese'];
$anno = $_POST['anno'];
$chef = $_POST['chef'];
$titolo = $_POST['titolo'];
$sottotitolo = $_POST['sottotitolo'];
$partner = $_POST['partner'];
$partner2 = $_POST['partner2'];
$dettagli = $_POST['dettagli'];
$posti = $_POST['posti'];
$prezzo = $_POST['prezzo'];

//unisco i partner
$partners = $partner." - ".$partner2;

// determino il giorno della settimana
$giorni = array('Domenica','Lunedì','Martedì','Mercoledì','Giovedì','Venerdì','Sabato');
$ladata = $anno."-".$mese."-".$giorno;
$weekday = $giorni[date('w',strtotime($ladata))];
$weekday = utf8_encode($weekday);

include 'connect.php';

$query1 = ("INSERT INTO calendario VALUES ('','0', '$anno', '$mese', '$giorno', '$weekday', '$evento', '$chef', '$titolo', '$sottotitolo', '$dettagli', '$prezzo', '$posti')");
$result1 = mysql_query($query1);

// recupero id lezine appena assegnato
$ultimo_id = mysql_insert_id();

// aggiorno la tabella partner
$reg_partner = ("INSERT INTO calendario_partner VALUES ('$ultimo_id','$partners')");
$inserisci = mysql_query($reg_partner);

echo "<META http-equiv='refresh' content='0; URL=http://www.teatro7.com/backoffice/confermainserimento.php?id=$ultimo_id'>";


?>
la variabile $weekday viene scritta nel db come (per esempio) lunedÅ— cioè le lettere accentate spariscono.
So che facilmente potrei convertire la i accentata, ma perchè nel db (il campo ha la collation utf8 general ci, come pure tutto il db, ho cambiato il file php.ini con la codifica standard utf8...) non mi scrive la i accentata?
Insomma ho messo UTF8 ovunque ma niente...
Suggerimenti? (non è grave, ma vorrei trovare la soluzione, anche per mia cultura personale)
Grazie
 
Va bene, non fa nulla, alla fine era solo una curiosità accademica... ho semplicemente sostituito la i accentata con una i senza accento, tanto nei giorni della settimana per fortuna c'e' solo quella.
PHP:
$weekday = str_replace("ì", "i", $weekday);
E morta lì...
Resta la curiosità su come gestire correttamente gli accenti...
Alla prossima
 

Discussioni simili