jueves, 19 de noviembre de 2009

Encoding en la conexión a bases de datos en PHP/MySQL

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_*:
$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();
}

No hay comentarios:

Publicar un comentario

 

Bombero Tecnológico Design by Insight © 2009