php echo中文亂碼怎麼處理

2020-07-16 10:06:19

php echo中文亂碼的解決辦法:1、在PHP檔案的頭部加上程式碼為「<?phpheader("Content-type:text/html;charset=utf-8");」;2、用SQL命令將出現中文編碼錯誤的資料表改成UTF-8編碼。

解決 PHP 輸出中文亂碼的問題

問題描述

今天給導航狗(https://daohanggou.cn/)的 PHP 程式和資料庫檔案遷移了伺服器, 但是遷移到新的伺服器上之後 PHP 輸出的中文和 PHP 輸出的從 MySQL 資料庫查詢出來的資料中的中文都出現了亂碼的情況. 下面記錄一下我解決該問題的過程.

解決步驟

首先解決的是 PHP 程式直接輸出 (輸出的不是從資料庫中查詢的資料) 的中文亂碼的問題. 由於我使用的是一台虛擬主機, 沒有管理員許可權, 無法修改 PHP 的組態檔, 因此, 對於這個問題我的解決辦法是在 PHP 檔案的頭部加上如下程式碼:

<head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /></head>

或者加上如下程式碼也可以:

<?php header("Content-type:text/html;charset=utf-8");?>

這樣處理之後, 輸出的結果是這樣的 (圖 1):

圖 1

圖 1

如圖 1 所示, 我用紅框標注的是 PHP 程式從 MySQL 資料庫查詢的結果, 查詢結果中的英文可以正常顯示, 中文卻變成了問號. 關於這個問題, 我的解決方法是在 MySQL 查詢語句的前一行加入如下程式碼:

mysql_query('SET NAMES UTF8');

如圖 2:

圖 2

圖 2

如果經過上面的步驟之後問題還是沒有解決, 可以嘗試使用下面的 SQL 命令將出現中文編碼錯誤的資料表改成 UTF-8 編碼:

ALTER TABLE `Test` DEFAULT CHARACTER SET utf8;

更多相關知識,請存取PHP中文網

以上就是php echo中文亂碼怎麼處理的詳細內容,更多請關注TW511.COM其它相關文章!