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

解決 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解決中文亂碼內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: