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 所示, 我用紅框標註的是 PHP 程序從 MySQL 數據庫查詢的結果, 查詢結果中的英文可以正常顯示, 中文卻變成瞭問號. 關於這個問題, 我的解決方法是在 MySQL 查詢語句的前一行加入如下代碼:
mysql_query('SET NAMES UTF8');
如圖 2:
圖 2
如果經過上面的步驟之後問題還是沒有解決, 可以嘗試使用下面的 SQL 命令將出現中文編碼錯誤的數據表改成 UTF-8 編碼:
ALTER TABLE `Test` DEFAULT CHARACTER SET utf8;
到此這篇關於PHP解決輸出中文亂碼問題講解的文章就介紹到這瞭,更多相關PHP解決中文亂碼內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!