Comment définir l'encodage dans php pdo

藏色散人
Libérer: 2023-03-09 21:32:01
original
2967 Les gens l'ont consulté

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;
    }
  }
?>
Copier après la connexion

(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;
    }
  }
?>
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal