PHP輸出亂碼通常是由于字符編碼不一致導致的。以下是一些建議和解決方法:
確保文件編碼一致:請檢查你的PHP文件和數據庫中的數據是否都使用相同的字符編碼,如UTF-8。你可以使用文本編輯器(如Notepad++或Visual Studio Code)將文件轉換為UTF-8編碼。
設置正確的字符編碼:在PHP文件的頂部添加以下代碼,以設置頁面輸出使用的字符編碼為UTF-8:
header("Content-Type: text/html; charset=utf-8");
$mysqli = new mysqli("localhost", "username", "password", "database");
$mysqli->set_charset("utf8mb4");
對于PDO,你可以在DSN中指定編碼:
$dsn = "mysql:host=localhost;dbname=database;charset=utf8mb4";
$pdo = new PDO($dsn, "username", "password");
utf8_encode()
和utf8_decode()
函數:如果你需要對字符串進行編碼或解碼,可以使用utf8_encode()
和utf8_decode()
函數。例如,如果你從數據庫獲取的數據是GBK編碼的,你可以使用utf8_encode()
將其轉換為UTF-8編碼:$content = utf8_encode($content);
反之,如果你需要將UTF-8編碼的字符串轉換為GBK編碼,可以使用utf8_decode()
:
$content = utf8_decode($content);
遵循以上建議,你應該能解決PHP輸出亂碼的問題。如果問題仍然存在,請檢查其他可能影響字符編碼的地方,如服務器配置、瀏覽器設置等。