ホームページ > バックエンド開発 > PHPチュートリアル > PHP の PDO を使用して MySQL に接続するときに文字セットを指定するにはどうすればよいですか?

PHP の PDO を使用して MySQL に接続するときに文字セットを指定するにはどうすればよいですか?

DDD
リリース: 2025-01-01 13:31:11
オリジナル
511 人が閲覧しました

How Do I Specify Character Sets When Connecting to MySQL Using PHP's PDO?

文字セット情報を PDO 接続に渡す

PHP の PDO (PHP Data Objects) ライブラリを介して MySQL 接続を操作する場合、次のことを確認することが重要です文字セット情報が適切に処理され、正しいデータ処理と表示が可能になること。 mysql_* 拡張機能の以前のバージョンでは、文字セットを指定する 2 つの一般的な方法、mysql_set_charset() と mysql_query("SET NAMES 'UTF8'") を提供していました。

PDO では、文字セットの指定は異なる方法で処理されます。 2 つの方法が利用可能です:

  1. 文字セット DSN オプションを使用する:

    • PDO 接続に文字セット オプションを含める文字セットを指定する文字列。例:

      $connect = new PDO("mysql:host=$host;dbname=$db;charset=utf8mb4", $user, $pass, array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
      ログイン後にコピー
  2. 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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート