Rumah > pangkalan data > tutorial mysql > PDO dan MySQL: Patutkah Saya Tetapkan Charset dalam Rentetan Sambungan atau Gunakan `SET NAMA`?

PDO dan MySQL: Patutkah Saya Tetapkan Charset dalam Rentetan Sambungan atau Gunakan `SET NAMA`?

Susan Sarandon
Lepaskan: 2024-12-18 14:12:13
asal
1001 orang telah melayarinya

PDO and MySQL: Should I Set the Charset in the Connection String or Use `SET NAMES`?

PDO: Adakah Saya Perlu Tetapkan Charset dan Set Nama?

Dulu, apabila menggunakan fungsi mysql_*, ia adalah perlu untuk menetapkan charset dan laksanakan pertanyaan SET NAMES untuk memastikan pengekodan aksara yang betul. Prinsip yang sama digunakan untuk sambungan PDO.

Pilihan PDO

Untuk sambungan PDO, anda boleh menentukan charset sebagai sebahagian daripada rentetan sambungan:

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

Pra-PHP 5.3.6

Jika anda menggunakan PHP sebelum versi 5.3.6, pilihan charset diabaikan. Untuk menetapkan charset dalam kes ini, anda mesti menggunakan kaedah exec() PDO:

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

Dengan menetapkan set charset, anda memastikan aplikasi anda berkomunikasi dengan pangkalan data menggunakan pengekodan aksara yang betul, mengelakkan rasuah data dan isu paparan.

Atas ialah kandungan terperinci PDO dan MySQL: Patutkah Saya Tetapkan Charset dalam Rentetan Sambungan atau Gunakan `SET NAMA`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan