Es importante asegurarse de trabajar con una conexión a bases de datos que utilice el encoding oportuno coincidente con el establecido en la base de datos y en la presentación de la web. En PHP con MySQL es sencillo hacerlo, pero hay que acordarse...
Utilizando las funciones mysql_*:
Para acceso a través de las PDO:
Utilizando las funciones mysql_*:
$server = 'localhost'; $user = 'dbuser'; $password = 'dbpass'; $con = mysql_pconnect($server, $user, $password); if (!$con) { die('Could not connect: ' . mysql_error()); } mysql_query("SET NAMES 'utf8';") or die(mysql_error());
Para acceso a través de las PDO:
$dsn = 'mysql:dbname=testdb;host=127.0.0.1;port=3333'; $user = 'dbuser'; $password = 'dbpass'; $options = array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'utf8'"); try { $pdo = new PDO($dsn, $user, $password, $options); } catch (PDOException $e) { echo 'Connection failed: ' . $e->getMessage(); }