首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

PHP 中文亂碼問題總結與徹底解決方案

     編輯:PHP 相關知識

亂碼核心原因

編碼不一致:資料庫、PHP 文件、HTML 頁面、資料傳輸四者編碼必須統一。

四步統一編碼法 (推薦 UTF-8)

1. 資料庫建立時指定編碼

CREATE DATABASE mydb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

建表同理指定 CHARSET=utf8mb4。

2. PHP 文件保存為 UTF-8 無 BOM

編輯器設置:VS Code、PhpStorm、Notepad++ 均可在右下角或菜單選擇「UTF-8 without BOM」。

3. 資料庫連接後立即設置字符集

<?php
$pdo = new PDO("mysql:host=localhost;dbname=mydb;charset=utf8mb4", $user, $pass);
// 或 mysqli
$mysqli->set_charset('utf8mb4');
// 避免使用舊式 mysql_query('SET NAMES utf8');
?>

4. HTML 頁面聲明編碼

<meta charset="utf-8">
<!-- 或 HTML5 簡寫 -->

或 PHP 輸出:

header('Content-Type: text/html; charset=utf-8');

進階排查清單

  • 檢查資料庫表、欄位級別編碼是否一致
  • 確認表單提交頁面編碼與處理頁面一致
  • 使用 mb_detect_encoding() 偵測字串編碼
  • 避免使用 iconv 強制轉碼,源頭統一才是正道

遺留專案 GBK/Big5 轉 UTF-8 建議

資料庫導出 SQL → 文本編輯器批量替換 charset → 重新導入;PHP 文件批量轉碼保存;前端頁面同步修改 meta 標籤。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved