php PDO 設定のエンコード方法: 1. "$_pdo->exec('SET NAMES utf8');" を通じてデータベースのエンコーディングを設定します; 2. インスタンス化された PDO の 4 番目のパラメータに "MYSQL_ATTR_INIT_COMMAND" を追加します。属性。
この記事の動作環境: Windows7 システム、php5.2.4 バージョン、DELL G3 パソコン
PHP の文字化け問題の解決方法データベースを操作するための PDO、php pdo 設定エンコード:
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 の 4 番目のパラメーターに MYSQL_ATTR_INIT_COMMAND 属性を追加します。
<?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 PDOでエンコードを設定する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。