Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Mengkonfigurasi Set Aksara dengan betul dalam Sambungan Pangkalan Data PDO?

Bagaimana untuk Mengkonfigurasi Set Aksara dengan betul dalam Sambungan Pangkalan Data PDO?

Susan Sarandon
Susan Sarandonasal
2024-12-17 01:27:25765semak imbas

How to Properly Configure Character Sets in PDO Database Connections?

Konfigurasi Sambungan PDO: Mengendalikan Set Aksara

Apabila membuat sambungan menggunakan PHP Data Objects (PDO), adalah penting untuk mempertimbangkan watak pengendalian set, terutamanya jika bekerja dengan aksara bukan ASCII. Dalam hal ini, PHP PDO menyediakan pilihan untuk menetapkan set aksara.

Pendekatan Rentetan Sambungan

Dalam versi PDO bermula dari PHP 5.3.6, anda boleh menentukan aksara ditetapkan terus dalam rentetan sambungan. Contohnya, untuk menetapkan set aksara kepada 'utf8mb4':

$connect = new PDO("mysql:host=$host;dbname=$db;charset=utf8mb4", $user, $pass, array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));

Pendekatan Exec DBH untuk Versi PHP Lama

Walau bagaimanapun, jika anda menggunakan versi yang lebih lama PHP (sebelum 5.3.6), pilihan charset dalam rentetan sambungan akan diabaikan. Dalam kes sedemikian, anda perlu menetapkan set aksara menggunakan pendekatan berikut:

$dbh = new PDO("mysql:host=$host;dbname=$db", $user, $password);
$dbh->exec("set names utf8mb4");

Pendekatan MySQL_* Legasi

Coretan kod yang anda berikan, yang melibatkan penggunaan mysql_set_charset dan mysql_query("SET NAMA 'UTF8'"), boleh digunakan pada warisan Fungsi MySQL_*, yang kini tidak digunakan dan tidak digalakkan. PDO ialah pendekatan yang disyorkan untuk menyambung dan berinteraksi dengan pangkalan data MySQL dalam PHP.

Kesimpulan

Dengan mengikuti garis panduan ini, anda boleh mengkonfigurasi pengendalian set aksara dalam PDO dengan berkesan sambungan, memastikan aksara bukan ASCII dikendalikan dengan betul dalam aplikasi PHP anda.

Atas ialah kandungan terperinci Bagaimana untuk Mengkonfigurasi Set Aksara dengan betul dalam Sambungan Pangkalan Data PDO?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn