If you are using PHP Data Objects (PDO) and are having trouble getting UTF-8 out of your MySQL server, even though everything is set to UTF-8 explicitly, you might want to try this:

$pdo = new PDO(

The last parameter of the PDO constructor call is the driver specific options, given as an array with key => value pairs. The MySQL driver have a PDO::MYSQL_ATTR_INIT_COMMAND option where you can specify a command that is executed every time you connect to the database. The MySQL specific query SET NAMES utf8 is simply telling MySQL to use UTF-8 as the character set for our connection.

Read more:

Blog Logo

André Laszlo


Back to Overview