ホームページ > バックエンド開発 > PHPチュートリアル > PHP が PDO を使用してデータベースを操作する場合の文字化けの問題の解決策と例

PHP が PDO を使用してデータベースを操作する場合の文字化けの問題の解決策と例

墨辰丷
リリース: 2023-03-29 16:18:01
オリジナル
1485 人が閲覧しました

この記事では、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(&#39;数据库连接错误!错误信息:&#39;.$e->getMessage());
      }
      $_pdo->query("SET NAMES utf8"); // $_pdo->exec(&#39;SET NAMES utf8&#39;); //设置数据库编码,两种方法都可以
      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=>&#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 UEditor Baiduエディタのインストールと使用方法の共有

PHP swoole拡張機能のインストール方法と詳細なチュートリアル


以上がPHP が PDO を使用してデータベースを操作する場合の文字化けの問題の解決策と例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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