文字セット情報を PDO 接続に渡す
PHP の PDO (PHP Data Objects) ライブラリを介して MySQL 接続を操作する場合、次のことを確認することが重要です文字セット情報が適切に処理され、正しいデータ処理と表示が可能になること。 mysql_* 拡張機能の以前のバージョンでは、文字セットを指定する 2 つの一般的な方法、mysql_set_charset() と mysql_query("SET NAMES 'UTF8'") を提供していました。
PDO では、文字セットの指定は異なる方法で処理されます。 2 つの方法が利用可能です:
文字セット DSN オプションを使用する:
PDO 接続に文字セット オプションを含める文字セットを指定する文字列。例:
$connect = new PDO("mysql:host=$host;dbname=$db;charset=utf8mb4", $user, $pass, array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
exec() メソッドを使用します (PHP バージョン 5.3.6 より前の場合):
5.3.6 より前の PHP バージョンでは、 PDO 接続を確立した後、exec() メソッドを使用して文字セットを設定できます:
$dbh = new PDO("mysql:host=$host;dbname=$db", $user, $password); $dbh->exec("set names utf8mb4");
デフォルトでは、PDO は設定しないことに注意することが重要です。文字セットを自動的に設定します。したがって、データが正しく処理され、表示されるようにするために、常に上記の方法のいずれかを使用して文字セットを指定することをお勧めします。
以上がPHP の PDO を使用して MySQL に接続するときに文字セットを指定するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。