Originariamente inviato da sberla_J.
sto diventando pazzo,
provo da pazzo a spiegarvi il problema:
php my admin:
Set di caratteri mysql = UTF-8 Unicode ( di default)
Collazione della connessione di mysql = utf8_general_ci (di default)
Database = utf8_general_ci
Tabelle = utf8_general_ci
ora
pagina php che gestisce(inserisce, modifica, elimina) i dati dal db:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
variabile per l'inserimento:
$variabile = trim(addslashes($_POST['variabile']));
variabile per la modifica:
es.in un campo text/area = <?php echo stripslashes($D['variabile']); ?>
file config.php che gestisce il db:
// MySQL Charset Collation:
mysql_query("SET NAMES 'utf-8'");
mysql_query("SET collation_connection = 'utf8_unicode_ci'"); ecc. ecc..
ora..
pagina che dovrebbe prelevare i dati dal db con query:
<?php
$colname_rsArtista = "-1";
if (isset($_GET['spettacolo'])) {
$colname_rsArtista = (get_magic_quotes_gpc()) ? $_GET['spettacolo'] : addslashes($_GET['spettacolo']);
}
mysql_select_db($database_viva, $viva);
$query_rsArtista = sprintf("SELECT * FROM spettacoli WHERE spettacoli_id = %s", $colname_rsArtista);
$rsArtista = mysql_query($query_rsArtista, $viva) or die(mysql_error());
$row_rsArtista = mysql_fetch_assoc($rsArtista);
$totalRows_rsArtista = mysql_num_rows($rsArtista);
?>
ecc..ecc..
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
variabile per la stampa a video:
<?php echo $row_rsArtista['variabile']; ?>
ok!!!!
quindi tutto settato in UTF8,
nella pagina che gestisce i dati viene visualizzato tutto alla perfezione ma nel database i caratteri speciali vengono stampati come: es. ' = \' ancora è = A(strano) e quindi al momento del passaggio alla pagina definitiva mi vengono restituito l'apostrofo come \' ma la ( è ) viene visualizzata senza errori nonostante nel database sia codificata.
sapete darmi una mano?
ho provato con i vari htmlentities ecc. ma la (è) diventa un quadratino e l'apostrofo lo visualizza bene
grazie in anticipo