Mengapakah data yang dikodkan UTF-8 saya kelihatan sebagai omong kosong apabila menggunakan PDO dengan MySQL?

Barbara Streisand
Lepaskan: 2024-11-04 13:17:01
asal
1053 orang telah melayarinya

Why does my UTF-8 encoded data appear as gibberish when using PDO with MySQL?

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:

  • Pengendalian set aksara dan tetapan pengekodan yang salah semasa penubuhan sambungan pangkalan data.

Penyelesaian:

  • Pastikan set aksara dan konfigurasi pengekodan yang betul semasa pemulaan sambungan pangkalan data. Gunakan sintaks berikut:
<code class="php">$pdo = new PDO( 
    'mysql:host=hostname;dbname=defaultDbName', 
    'username', 
    'password', 
    array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8") 
); </code>
Salin selepas log masuk

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!

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