Isu Pengekodan UTF-8 dalam PDO dan MySQL Dijelaskan
Apabila bekerja dengan PDO dan MySQL dalam PHP, pengguna mungkin menghadapi masalah memasukkan UTF -8 data yang dikodkan ke dalam pangkalan data. Data kelihatan bercelaru sebagai '?' aksara apabila dimasukkan. Isu ini berpunca daripada kekurangan konfigurasi charset UTF-8 yang betul.
Untuk menyelesaikan isu ini, adalah penting untuk melaksanakan pertanyaan SET NAMES dan SET CHARACTER SET selepas mewujudkan sambungan PDO. Walau bagaimanapun, dalam senario tertentu, pertanyaan ini sahaja mungkin tidak menyelesaikan masalah.
Mengikut jawapan yang diberikan, adalah disyorkan untuk menggunakan pendekatan alternatif:
<code class="php">$pdo = new PDO( 'mysql:host=hostname;dbname=defaultDbName', 'username', 'password', array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8") );</code>
Dengan menambahkan PDO:: Pilihan MYSQL_ATTR_INIT_COMMAND, UTF-8 dikuatkuasakan semasa permulaan sambungan PDO. Kaedah ini berkesan menyelesaikan isu pengekodan UTF-8 dengan memastikan sambungan pangkalan data ditetapkan kepada UTF-8 dari awal.
Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Isu Pengekodan UTF-8 dalam PDO dan MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!