解決PHP 連線MySQL 亂碼困擾的方法
#MySQL 是常用的關聯式資料庫管理系統,而PHP 是一種流行的伺服器端腳本語言,二者常常結合使用來開發網站和應用程式。在使用 PHP 連接 MySQL 資料庫時,常常會遇到中文資料亂碼的問題,這給開發者帶來了一定的困擾。本文將介紹一些有效的解決 PHP 連接 MySQL 亂碼問題的方法,並提供具體的程式碼範例。
首先要確保資料庫和表格的字元集設定是正確的。在建立資料庫時,應該選擇合適的字元集,如 utf8 或 utf8mb4。建立表格時也要指定正確的字元集和校對規則。例如:
CREATE DATABASE my_database CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE TABLE my_table ( id INT AUTO_INCREMENT, name VARCHAR(50) CHARACTER SET utf8mb4, PRIMARY KEY (id) ) ENGINE=InnoDB CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
在PHP 連接MySQL 資料庫時,需要設定字元集為utf8mb4,以確保資料的正確儲存與讀取。可以在連接資料庫的程式碼中加入以下語句:
$mysqli = new mysqli("localhost", "username", "password", "my_database"); $mysqli->set_charset("utf8mb4");
在執行SQL 查詢語句之前,也需要設定字元集為utf8mb4 。可以在執行查詢語句之前新增以下語句:
$mysqli->query("SET NAMES 'utf8mb4'");
在PHP 中處理中文資料時,需要確保使用UTF- 8 編碼。在儲存資料到資料庫或從資料庫讀取資料時,都要使用 UTF-8 編碼。例如:
$name = "张三"; $name = utf8_encode($name); // 将字符串转换为 UTF-8 编码 $result = $mysqli->query("INSERT INTO my_table (name) VALUES ('$name')");
最後,在網頁中顯示資料時,也要設定頁面的編碼為UTF-8,以確保中文數據正確顯示。可以在 HTML 頭部加入以下程式碼:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
透過以上方法,可以有效解決 PHP 連接 MySQL 資料庫時出現的中文資料亂碼問題。遵循正確的字元集設定和編碼規範,可以確保資料的正確儲存、讀取和顯示。希望以上內容對大家有幫助。
以上是有效解決 PHP 連結 MySQL 亂碼困擾的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!