| 位置 | 檢查項 | 統一目標 |
|---|---|---|
| 1. 文件保存編碼 | 編輯器右下角/保存選項 | UTF-8 (無 BOM) |
| 2. HTML meta 聲明 | <meta charset="UTF-8"> | UTF-8 |
| 3. PHP header 輸出 | header("Content-Type: text/html; charset=UTF-8") | UTF-8 |
| 4. 數據庫連接 | SET NAMES UTF8 / charset=utf8mb4 | UTF-8 / utf8mb4 |
| 5. Apache 配置 | AddDefaultCharset UTF-8 | UTF-8 |
<?php 之後)<?php
// 1. 輸出編碼聲明(必須在任何輸出前)
header("Content-Type: text/html; charset=UTF-8");
// 2. 數據庫編碼(連接建立後立即執行)
mysql_query("SET NAMES UTF8"); // 舊版
// 或 mysqli
$mysqli->set_charset("utf8mb4");
// 或 PDO
$pdo->exec("SET NAMES utf8mb4");
header("Content-Type: text/html; charset=GBK")SET NAMES GBKCHARSET=gbk純 PHP 頁面輸出 JS 時:
<?php
header("Content-Type: text/html; charset=UTF-8");
echo '<script>alert("中文內容正常顯示");</script>';
?>
header() 必須在 任何輸出之前(包括空白行、BOM)header already sentutf8mb4 支持 Emoji,utf8 僅支持 BMP 平面