Specifying the MySQL character set in PHP
Find out how to specify the character set when you connect to a MySQL database by either the MySQL Improved (mysqli) PHP extension or the PDO (PHP Data Objects) method.
This article describes how to specify the character set when you connect to a MySQL database using one of the following methods:
-
MySQL Improved (mysqli) PHP extension
-
PDO (PHP Data Objects)
Note
This article assumes that you already know how to connect to a MySQL database using PHP. For information about how to do this, please see this article.
Determining which character sets are available on a server
To determine which character sets are available on your server for MySQL, log in to your account using SSH, and then type the following command:
grep "charset name" /usr/share/mysql/charsets/Index.xml | cut -f2 -d'"'
This command displays the list of available values that you can use in the methods described below.
Tip
To view additional information about a character set, such as its detailed description, open the /usr/share/mysql/charsets/Index.xml file in a text editor.
Setting the character set using the MySQL Improved extension
If you are using the MySQL Improved (mysqli) extension, use the set_charset method to specify the character set. For example, the following sample code demonstrates how to specify the Windows Arabic character set using mysqli:
$mysqli = new mysqli("localhost", "dbuser", "password", "database");
$mysqli->set_charset("cp1256");
Setting the character set using PDO (PHP Data Objects)
To specify the character set using PDO, all you have to do is include the charset setting in the connection string. For example, the following sample code demonstrates how to specify the UTF-8 Unicode character set using PDO:
$myPDO = new PDO('mysql:host=localhost;dbname=database;charset=utf8;', 'dbuser', 'password');
More Information
-
To view the official online documentation for the MySQL Improved extension, please visit http://www.php.net/manual/en/book.mysqli.php.
-
To view the official online documentation for PDO, please visit http://www.php.net/manual/en/book.pdo.php.
Related Articles
Updated 3 days ago