Quando vedo i dati memorizzati nel database mysql utilizzando phpmyadmin, i caratteri vengono memorizzati esattamente come é à ç tuttavia quando uso php per visualizzare questi dati su un documento html che ha la seguente struttura :UTF-8 caratteri accentati francesi numero
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
</head>
<body>
</body>
</html>
ho avuto quadrato invece di carattere accentato, però, non ho questo problema con i caratteri accentati sui contenuti statici che non sono stati caricati dalla mysql nella stessa pagina.
quando vedo sul codice sorgente della pagina sembrano essere identici! ad esempio:
parte di dati statici sul codice sorgente visualizzati come:
éçà
parte dei dati origine mysql:
éçà
ho provato sostituendo
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
con
<meta http-equiv="Content-Type" content="text/html; charset=windows-1552" />
e come risultato ho ottenuto mysql uno fisso, statico con i quadrati!
qualche suggerimento?
Sembra un problema di configurazione errata. Forse i tuoi driver DB non utilizzano UTF-8? Il fatto che i dati provenienti dal DB mostrino OK quando si passa a 'windows-1552' ei file statici non possono significare che il proprio file sorgente sia (correttamente) in UTF-8, ma i dati dal DB sta arrivando nel formato di codifica errato. Qualunque cosa accada, attenersi a UTF-8. – ubik
Grazie per la risposta, ho controllato il database e ho trovato che il Collation è impostato su 'latin1_swedish_ci', potrebbe essere la fonte del problema? – Mbarry
Sì, questa è la fonte del problema, stai memorizzando i tuoi dati in ascii in mysql ma poi provando a mostrarli come utf8 nel tuo html .. – Nelson