Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk Membetulkan Isu Pengekodan UTF-8 dalam PDO dan MySQL?

Bagaimana untuk Membetulkan Isu Pengekodan UTF-8 dalam PDO dan MySQL?

Patricia Arquette
Patricia Arquetteasal
2024-11-03 10:20:03558semak imbas

How to Fix UTF-8 Encoding Issues in PDO and MySQL?

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!

Kenyataan:
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