Isu Pengekodan UTF-8 dengan PDO dan MySQL
Apabila bekerja dengan PDO dan pangkalan data MySQL, pengguna mungkin menghadapi situasi di mana UTF-8 data yang dikodkan tidak dimasukkan atau diambil dengan betul, sebaliknya muncul sebagai tanda tanya (????????). Ini timbul disebabkan oleh perbezaan dalam konfigurasi pangkalan data dan tetapan PHP.
Penyelesaian Kemungkinan: Menetapkan UTF-8 melalui Konfigurasi PDO
Satu penyelesaian yang berkesan ialah menetapkan UTF-8 set aksara dan penyusunan semasa pemulaan sambungan PDO. Dengan menambahkan kod berikut pada pembina PDO, pengekodan UTF-8 akan dikuatkuasakan:
$pdo = new PDO( 'mysql:host=hostname;dbname=defaultDbName', 'username', 'password', array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8") );
Pendekatan ini memastikan UTF-8 didayakan secara eksplisit pada sambungan, tanpa mengira sebarang pangkalan data atau tetapan PHP sebelumnya.
Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Isu Pengekodan UTF-8 dengan PDO dan MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!