PHP輸出中文亂碼的解決方法(適合初學者)

PHP輸出中文亂碼的解決方法

爲什麼會出現中文亂碼?

一般來說,亂碼的出現有2種原因,一種是由於編碼(charset) 設置錯誤,導致瀏覽器以錯誤的編碼來解析,從而出現了亂碼,第二種就是文件被以錯誤的編碼保存,如一個文本文件原先是GB2312 編碼的,卻以UTF-8 編碼打開再保存,就會出現亂碼的問題。怎麼解決php中亂碼的問題呢?

如果你能掌控php的配置文件php.ini文件、mysql的配置文件my.ini,可以如下解決:
如果你的HTML文件或HTML和PHP混合的文件出現了亂碼問題
打開php.ini文件,找到 ;default.charset="UTF-8"--->default.charset="UTF-8" 把前面的分號去掉(去掉註釋),重啓apache服務,刷新頁面,中文顯示正常。

PHP+Mysql中文亂碼問題:
除修改向上面那樣修改php.ini文件,還要修改mysql的配置文件my.ini
[mysql] 
default-character-set=utf8 

[mysqld] 
default-character-set=utf8 

在[mysqld]下加入: 
default-collation=utf8_bin 
init_connect='SET NAMES utf8' 

如果你使用的是他人的服務器,不能掌控php的配置文件php.ini、mysql的配置文件my.ini,不能修改它們,你只好可以修改代碼了。

如果你的HTML文件或HTML和PHP混合的文件出現了亂碼問題,那麼你可以在head標籤裏面加入UTF8編碼(國際化編碼):UTF-8不是專屬某個國家的編碼,也就是獨立於任何一種語言,任何語言都可以使用的。
在每個頁面添加<meta charset=UTF-8" />

PHP+Mysql中文亂碼問題
除修改向上面那樣修改,還要如下修改
<?php
   //連接數據庫後,設置字符集
  $conn = new mysqli("servername", "username", "password","DatabaseName");
  mysqli_set($conn,'utf8');
   ?

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章