Asegúrate que la base de datos este en
utf8_general_ci ó
utf8_unicode_ci, los archivos en
UTF-8 sin BOM y que a la hora de definir la conexión a la base de datos tengas incluido
set_charset('utf8') en caso de hacerlo con MySQLi, o
SET NAMES 'utf8'; como la primera consulta, justo después de realizar la conexión.
Ejemplo de conexión MySQLI:
Código PHP:
$Conexion = new mysqli($hostname, $username, $password, $database);
if (mysqli_connect_errno()) {
echo "Error en conexion: ". mysqli_connect_error();
exit();
}
$Conexion->set_charset('utf8');
Ejemplo de conexión PDO:
Código PHP:
$Conexion = new PDO('mysql:host='.$hostname.';dbname='.$database, $username, $password);
$Conexion->query("SET NAMES 'utf8';");
$Conexion->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);