Apabila berurusan dengan aksara khas dalam PHP dan MySQL, aksara yang tidak dijangka boleh timbul apabila memaparkan data dalam penyemak imbas. Untuk menangani isu ini, kami akan meneroka penyelesaian umum.
Menurut maklumat yang diberikan, HTML ditetapkan dengan betul dengan charset UTF-8 dan jadual serta pangkalan data MySQL menggunakan UTF-8_spanish. Walau bagaimanapun, watak itu diwakili sebagai "?" dengan segi empat sama masih berterusan.
Kunci untuk menyelesaikan masalah ini terletak pada komunikasi antara aplikasi klien (skrip PHP) dan MySQL. MySQL perlu memahami set aksara mana yang pelanggan jangkakan untuk menerima data.
Untuk menyampaikan perkara ini kepada MySQL, arahan SET NAMES 'utf8' hendaklah dilaksanakan sebagai pertanyaan pertama apabila membuat sambungan. Ini memastikan bahawa semua data rentetan ditranskodkan daripada set aksara dalaman ke dalam UTF-8, pengekodan yang digunakan oleh pelanggan.
Untuk skrip PHP menggunakan PDO, ini boleh dicapai melalui kaedah setAttribute:
$db = new PDO($dsn, $user, $password); $db->setAttribute(PDO::MYSQL_ATTR_INIT_COMMAND, "SET NAMES 'utf8'");
Sebagai alternatif, untuk skrip PHP menggunakan mysqli, kaedah set_charset boleh digunakan:
$mysqli = new mysqli("localhost", "user", "password", "db"); $mysqli->set_charset("utf8");
Dengan melaksanakan penyelesaian ini, aksara Sepanyol khas boleh dimasukkan dengan betul ke dalam pangkalan data daripada borang PHP dan dipaparkan dalam penyemak imbas tanpa sebarang aksara yang bercelaru.
Atas ialah kandungan terperinci Bagaimana untuk Memastikan Paparan Watak Khas yang Betul dalam PHP dan MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!