ホームページ > バックエンド開発 > PHPの問題 > PHP PDOでエンコードを設定する方法

PHP PDOでエンコードを設定する方法

藏色散人
リリース: 2023-03-09 21:32:01
オリジナル
3022 人が閲覧しました

php PDO 設定のエンコード方法: 1. "$_pdo->exec('SET NAMES utf8');" を通じてデータベースのエンコーディングを設定します; 2. インスタンス化された PDO の 4 番目のパラメータに "MYSQL_ATTR_INIT_COMMAND" を追加します。属性。

PHP PDOでエンコードを設定する方法

この記事の動作環境: 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(&#39;数据库连接错误!错误信息:&#39;.$e->getMessage());
      }
      $_pdo->query("SET NAMES utf8"); // $_pdo->exec(&#39;SET NAMES utf8&#39;); //设置数据库编码,两种方法都可以
      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=>&#39;SET NAMES utf8&#39;);
        $_pdo = new PDO(DB_DSN, DB_NAME, DB_PASS, $_opts_values);
      } catch (PDOException $e) {
        exit(&#39;数据库连接错误!错误信息:&#39;.$e->getMessage());
      }
      return $_pdo;
    }
  }
?>
ログイン後にコピー

注: 上記のメソッドはテスト済みです。

[推奨学習: PHP ビデオ チュートリアル ]

以上がPHP PDOでエンコードを設定する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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