一.首先是PHP網頁的編碼php
1.若是欲使用gb2312編碼,那麼php要輸出頭:header(「Content-Type: text/html; charset=gb2312」),靜態頁面添加,全部文件的編碼格式爲ANSI,可用記事本打開,另存爲選擇編碼爲ANSI,覆蓋源文件。html
2.若是欲使用utf-8編碼,那麼php要輸出頭:header(「Content-Type: text/html; charset=utf-8」),靜態頁面添加,全部文件的編碼格式爲utf-8。保存爲utf-8可能會有點麻煩,通常utf-8文件開頭會有BOM,若是使用session就會出問題,可用editplus來保存,在editplus中,工具->參數選擇->文件->UTF-8簽名,選擇老是刪除,再保存就能夠去掉BOM信息了。mysql
3.php自己不是Unicode的,全部substr之類的函數得改爲mb_substr(須要裝mbstring擴展);或者用iconv轉碼。www.cdxsxbx.comsql
二.PHP與Mysql的數據交互數據庫
PHP與數據庫的編碼應一致session
1.修改mysql配置文件my.ini或my.cnf,mysql最好用utf8編碼函數
[mysql]
default-character-set=utf8
[mysqld]
default-character-set=utf8
default-storage-engine=MyISAM
在[mysqld]下加入:
default-collation=utf8_bin
init_connect='SET NAMES utf8'
2.在須要作數據庫操做的php程序前加mysql_query(「set names ‘編碼’」);,編碼和php編碼一致,若是php編碼是gb2312那mysql編碼就是gb2312,若是是utf-8那mysql編碼就是utf8,這樣插入或檢索數據時就不會出現PHP中文亂碼了。
工具