Isu Pengekodan PDO MySQL UTF-8
Masalah: Apabila menggunakan PDO dengan pangkalan data MySQL dalam PHP, UTF -8 data yang dikodkan yang dimasukkan ke dalam pangkalan data kelihatan sebagai omong kosong.
Punca Kemungkinan:
Penyelesaian:
<code class="php">$pdo = new PDO( 'mysql:host=hostname;dbname=defaultDbName', 'username', 'password', array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8") ); </code>
Barisan ini memaksa pengekodan UTF-8 pada sambungan PDO dan menyelesaikan isu pengekodan.
Amaran: Penyelesaian ini ditujukan untuk PHP versi 5.3.5 dan lebih awal. Untuk PHP versi 5.3.6 dan ke atas, rujuk kepada penyelesaian alternatif yang disediakan di tempat lain.
Atas ialah kandungan terperinci Mengapakah data yang dikodkan UTF-8 saya kelihatan sebagai omong kosong apabila menggunakan PDO dengan MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!