So legen Sie die Kodierung für PHP-PDO fest: 1. Legen Sie die Datenbankkodierung über „$_pdo->exec('SET NAMES utf8');“ fest. 2. Fügen Sie das Attribut „MYSQL_ATTR_INIT_COMMAND“ zum vierten Parameter des instanziierten PDO hinzu .
Die Betriebsumgebung dieses Artikels: Windows 7-System, PHP-Version 5.2.4, DELL G3-Computer
Lösung für das verstümmelte Problem, dass PHP PDO zum Betrieb der Datenbank verwendet, PHP-PDO-Einstellungscodierung:
Wann Verwenden einer PDO-Verbindung zum Betreiben der Datenbank. Manchmal scheint es, dass die in der Datenbank gespeicherten chinesischen Schriftzeichen verstümmelt sind. Wenn die Datei im UTF-8-Format vorliegt, lautet die Lösung wie folgt:
(1) Das instanziierte Objekt führt direkt die query()-Methode oder die exec()-Methode aus:
<?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) Fügen Sie den vierten Parameter des instanziierten Objekts hinzu PDO MYSQL_ATTR_INIT_COMMAND-Attribut:
<?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; } } ?>
Hinweis: Die oben genannten Methoden wurden getestet.
【Empfohlenes Lernen: PHP-Video-Tutorial】
Das obige ist der detaillierte Inhalt vonSo legen Sie die Kodierung in PHP PDO fest. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!