處理 PHP 和 MySQL 中的特殊字元時,在瀏覽器中顯示資料時可能會出現意外字元。為了解決這個問題,我們將探索一個通用的解決方案。
根據提供的信息,HTML 使用 UTF-8 字元集正確設置,並且 MySQL 表和資料庫使用 UTF-8_spanish。然而,表示為「?」的字元
解決這個問題的關鍵在於客戶端應用程式(PHP 腳本)和 MySQL 之間的通訊。 MySQL 需要了解用戶端期望接收資料的字元集。
要將其傳達給 MySQL,命令 SET NAMES 'utf8' 應作為建立連線時的第一個查詢執行。這可以確保所有字串資料從內部字元集轉碼為 UTF-8,即客戶端使用的編碼。
對於使用PDO 的PHP 腳本,可以透過setAttribute 方法來實現:
$db = new PDO($dsn, $user, $password); $db->setAttribute(PDO::MYSQL_ATTR_INIT_COMMAND, "SET NAMES 'utf8'");
或者,對於使用mysqli 的PHP 腳本,可以使用set_charset 方法:
$mysqli = new mysqli("localhost", "user", "password", "db"); $mysqli->set_charset("utf8");
透過實作此解決方案,可以將特殊的西班牙語字元從PHP表單正確插入到資料庫中,並在瀏覽器中顯示,沒有任何亂碼。
以上是如何保證PHP和MySQL中特殊字元的正確顯示?的詳細內容。更多資訊請關注PHP中文網其他相關文章!