>  기사  >  백엔드 개발  >  PHP는 PDO를 사용하여 데이터베이스 왜곡 문제를 작동합니다.solution_php 기술

PHP는 PDO를 사용하여 데이터베이스 왜곡 문제를 작동합니다.solution_php 기술

WBOY
WBOY원래의
2016-05-16 19:54:321211검색

이 기사의 예에서는 PDO를 사용하여 데이터베이스를 운영하는 PHP의 왜곡된 문제를 해결하는 방법을 설명합니다. 참고하실 수 있도록 모든 사람과 공유하세요. 자세한 내용은 다음과 같습니다.

PDO 연결을 사용하여 데이터베이스를 운영할 때 가끔 데이터베이스에 저장된 한자가 깨져 보이는 현상이 나타납니다. 파일이 UTF-8 형식인 경우 해결 방법은 다음과 같습니다.

(1) 인스턴스화된 객체는 query() 메서드 또는 exec() 메서드를 직접 실행합니다.

<&#63;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;
    }
  }
&#63;>

(2) 인스턴스화된 PDO의 네 번째 매개변수에 MYSQL_ATTR_INIT_COMMAND 속성을 추가합니다.

<&#63;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;
    }
  }
&#63;>

참고: 위의 방법은 테스트되었습니다.

더 많은 PHP 관련 콘텐츠에 관심이 있는 독자들은 이 사이트의 특별 주제인 "pdo 기반 PHP 데이터베이스 운영 기술 요약", "PHP 운영 요약 및 연산자 사용법" , "PHP 네트워크 프로그래밍 기술 요약", "기본 PHP 구문 소개 튜토리얼", "PHP 운영 Office 문서 기술 요약(포함) word, excel, access, ppt)》, "php 날짜 및 시간 사용 요약", "php 객체 지향 프로그래밍 입문 튜토리얼", "php string (문자열) 사용법 요약 ", "php mysql 데이터베이스 작업 입문 튜토리얼" 및 "php 일반 데이터베이스 작업 기술 요약"

이 기사가 PHP 프로그래밍에 종사하는 모든 사람에게 도움이 되기를 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.