Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menetapkan Pengekodan Aksara dengan Betul untuk Sambungan MySQL PDO?
Pengendalian Pengekodan Aksara Sambungan PDO
Apabila membuat sambungan MySQL menggunakan sambungan PDO (Objek Data PHP), pengekodan aksara yang betul adalah penting untuk memastikan integriti data dan operasi yang betul. Mari terokai cara menetapkan pengekodan aksara untuk sambungan PDO.
Dalam sambungan mysql_* tradisional yang digunakan dalam kod anda sebelum ini:
mysql_set_charset("utf8",$link); mysql_query("SET NAMES 'UTF8'");
Arahan ini menetapkan pengekodan aksara untuk sambungan. Walau bagaimanapun, dengan PDO, pendekatannya berbeza.
Untuk menetapkan pengekodan aksara bagi sambungan PDO, anda boleh menentukannya dalam rentetan sambungan itu sendiri. Contohnya:
$connect = new PDO("mysql:host=$host;dbname=$db;charset=utf8mb4", $user, $pass, array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
Rentetan ini menambahkan pilihan charset pada rentetan sambungan, menyatakan pengekodan yang diingini, dalam kes ini, "utf8mb4". Menggunakan kaedah ini menetapkan pengekodan apabila sambungan diwujudkan.
Versi PHP Lama
Walau bagaimanapun, jika anda menggunakan versi PHP sebelum 5.3.6, charset pilihan dalam rentetan sambungan diabaikan. Dalam kes ini, anda mesti menggunakan kaedah ganti:
$dbh = new PDO("mysql:host=$host;dbname=$db", $user, $password); $dbh->exec("set names utf8mb4");
Di sini, sambungan diwujudkan tanpa menyatakan pengekodan, dan kaedah exec() digunakan untuk melaksanakan pertanyaan SQL untuk menetapkan pengekodan aksara selepas sambungan diwujudkan.
Atas ialah kandungan terperinci Bagaimana untuk Menetapkan Pengekodan Aksara dengan Betul untuk Sambungan MySQL PDO?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!