この記事では、PHP が PDO を使用してデータベースを操作する場合のコード化けの問題の解決策を主に紹介し、コード化けの問題を解決するためのエンコード設定と属性設定を例とともに紹介します。データベースを操作するために接続すると、データベースに保存されている漢字が文字化けして見える場合があります。ファイルが UTF-8 形式の場合、解決策は次のとおりです。
(1) インスタンス化されたオブジェクトは、query() メソッドまたは exec() メソッドを直接実行します。
<?php class DB { static public function getDB() { try { $_opts_values = array(PDO::ATTR_PERSISTENT=>true,PDO::ATTR_ERRMODE=>2); $_pdo = new PDO(DB_DSN, DB_NAME, DB_PASS, $_opts_values); } catch (PDOException $e) { exit('数据库连接错误!错误信息:'.$e->getMessage()); } $_pdo->query("SET NAMES utf8"); // $_pdo->exec('SET NAMES utf8'); //设置数据库编码,两种方法都可以 return $_pdo; } } ?>
(2)インスタンス化された PDO MYSQL_ATTR_INIT_COMMAND 属性を 4 番目のパラメーターに追加します:
<?php class DB { static public function getDB() { try { $_opts_values = array(PDO::ATTR_PERSISTENT=>true,PDO::ATTR_ERRMODE=>2,PDO::MYSQL_ATTR_INIT_COMMAND=>'SET NAMES utf8'); $_pdo = new PDO(DB_DSN, DB_NAME, DB_PASS, $_opts_values); } catch (PDOException $e) { exit('数据库连接错误!错误信息:'.$e->getMessage()); } return $_pdo; } } ?>
概要: 上記がこの記事の全内容です。皆さんの学習に役立つことを願っています。
関連する推奨事項:
PHP正規表現の基本入門php UEditor Baiduエディタのインストールと使用方法の共有
以上がPHP が PDO を使用してデータベースを操作する場合の文字化けの問題の解決策と例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。