Handhabung der PDO-Verbindungszeichenkodierung
Beim Aufbau einer MySQL-Verbindung mithilfe der PDO-Erweiterung (PHP Data Objects) ist die richtige Zeichenkodierung von entscheidender Bedeutung Gewährleistung der Datenintegrität und des korrekten Betriebs. Sehen wir uns an, wie Sie die Zeichenkodierung für eine PDO-Verbindung festlegen.
In der traditionellen mysql_*-Erweiterung, die in Ihrem vorherigen Code verwendet wurde:
mysql_set_charset("utf8",$link); mysql_query("SET NAMES 'UTF8'");
Diese Befehle legen die Zeichenkodierung für die Verbindung fest. Bei PDO ist der Ansatz jedoch anders.
Um die Zeichenkodierung für eine PDO-Verbindung festzulegen, können Sie diese innerhalb der Verbindungszeichenfolge selbst angeben. Beispiel:
$connect = new PDO("mysql:host=$host;dbname=$db;charset=utf8mb4", $user, $pass, array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
Diese Zeichenfolge hängt die Zeichensatzoption an die Verbindungszeichenfolge an und gibt die gewünschte Codierung an, in diesem Fall „utf8mb4“. Mit dieser Methode wird die Codierung festgelegt, wenn die Verbindung hergestellt wird.
Ältere PHP-Versionen
Wenn Sie jedoch eine PHP-Version vor 5.3.6 verwenden, ist der Zeichensatz Option in der Verbindungszeichenfolge wurde ignoriert. In diesem Fall müssen Sie eine alternative Methode verwenden:
$dbh = new PDO("mysql:host=$host;dbname=$db", $user, $password); $dbh->exec("set names utf8mb4");
Hier wird die Verbindung ohne Angabe der Kodierung hergestellt und die Methode exec() wird verwendet, um eine SQL-Abfrage auszuführen, um anschließend die Zeichenkodierung festzulegen Die Verbindung wird hergestellt.
Das obige ist der detaillierte Inhalt vonWie stelle ich die Zeichenkodierung für PDO-MySQL-Verbindungen richtig ein?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!