exec('SET NAMES utf8');"; 2. Ajoutez l'attribut "MYSQL_ATTR_INIT_COMMAND" au quatrième paramètre du PDO instancié."/> exec('SET NAMES utf8');"; 2. Ajoutez l'attribut "MYSQL_ATTR_INIT_COMMAND" au quatrième paramètre du PDO instancié.">

Maison >développement back-end >Problème PHP >Comment définir l'encodage dans php pdo

Comment définir l'encodage dans php pdo

藏色散人
藏色散人original
2021-05-25 09:08:482983parcourir

Comment définir l'encodage pour php pdo : 1. Définissez l'encodage de la base de données via "$_pdo->exec('SET NAMES utf8');"; 2. Ajoutez "MYSQL_ATTR_INIT_COMMAND" au quatrième paramètre de propriété "PDO" instanciée.

Comment définir l'encodage dans php pdo

L'environnement d'exploitation de cet article : système Windows7, version php5.2.4, ordinateur DELL G3

Solution au problème tronqué de PHP utilisant PDO pour faire fonctionner la base de données, encodage des paramètres php pdo :

Lors de l'utilisation d'une connexion PDO pour faire fonctionner la base de données, il apparaît parfois : les caractères chinois enregistrés dans la base de données sont tronqués. Si le fichier est au format UTF-8, la solution est la suivante :

(1) L'objet instancié exécute directement la méthode query() ou la méthode 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 ) Dans l'instance Ajoutez l'attribut MYSQL_ATTR_INIT_COMMAND au quatrième paramètre de PDO :

<?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;
    }
  }
?>

Remarque : Les méthodes ci-dessus ont été testées.

[Apprentissage recommandé : Tutoriel vidéo PHP]

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Comment installer PHP 5.2.4Article suivant:Comment installer PHP 5.2.4