이 기사의 예에서는 PDO를 사용하여 데이터베이스를 운영하는 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('数据库连接错误!错误信息:'.$e->getMessage()); } $_pdo->query("SET NAMES utf8"); // $_pdo->exec('SET NAMES utf8'); //设置数据库编码,两种方法都可以 return $_pdo; } } ?>
(2) 인스턴스화된 PDO의 네 번째 매개변수에 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=>'SET NAMES utf8'); $_pdo = new PDO(DB_DSN, DB_NAME, DB_PASS, $_opts_values); } catch (PDOException $e) { exit('数据库连接错误!错误信息:'.$e->getMessage()); } return $_pdo; } } ?>
참고: 위의 방법은 테스트되었습니다.
더 많은 PHP 관련 콘텐츠에 관심이 있는 독자들은 이 사이트의 특별 주제인 "pdo 기반 PHP 데이터베이스 운영 기술 요약", "PHP 운영 요약 및 연산자 사용법" , "PHP 네트워크 프로그래밍 기술 요약", "기본 PHP 구문 소개 튜토리얼", "PHP 운영 Office 문서 기술 요약(포함) word, excel, access, ppt)》, "php 날짜 및 시간 사용 요약", "php 객체 지향 프로그래밍 입문 튜토리얼", "php string (문자열) 사용법 요약 ", "php mysql 데이터베이스 작업 입문 튜토리얼" 및 "php 일반 데이터베이스 작업 기술 요약"
이 기사가 PHP 프로그래밍에 종사하는 모든 사람에게 도움이 되기를 바랍니다.