招生熱線
0755-86191118 0755-86191118
我的位置: 首頁 > 學習專區(qū) > PHP技術(shù) > 關(guān)于PHP頁面顯示亂碼問題的解決

關(guān)于PHP頁面顯示亂碼問題的解決

2014-04-16 11:14:10
來源:
[導(dǎo)讀] 網(wǎng)頁亂碼一直是網(wǎng)絡(luò)編程高手都頭痛的問題,我是一個PHP Web編程的初學者,學習當中也遇到了這個問題,查找了相關(guān)的資源,總結(jié)如下:
網(wǎng)頁亂碼一直是網(wǎng)絡(luò)編程高手都頭痛的問題,我是一個PHP Web編程的初學者,學習當中也遇到了這個問題,查找了相關(guān)的資源,總結(jié)如下:

一般的中文編碼:gb2312,gbk(前者的一種擴展),這兩種編碼缺乏國際通用性;UTF-8為國際標準編碼,一般網(wǎng)頁編碼使用該編碼方式;

出現(xiàn)亂碼大部分是由于編碼方式的不一致導(dǎo)致的,其中主要有四個地方不一致就可能存在這個可能:

1、頁面文件的編碼方式(.html,.php等)

2、 html.head中指定瀏覽器的編碼方式

3、MySql數(shù)據(jù)庫傳輸?shù)木幋a方式

4、Apache字符集

這四個的編碼一般需要統(tǒng)一起來,統(tǒng)一為UTF-8更為合適。以下四點應(yīng)該注意:

1、PlusEdit這種編輯會識別文件編碼,打開并保存后編碼方式保持不變 ;而像visual studio 2005、Zend Studio等開發(fā)工具會以工具首選項中的字符集打開并保存,可能改變原來的編碼方式,可能原來是utf-8的,zend studio ->工具(首選項編碼為gb2312),打開并保存就變成了gb2312可能會出現(xiàn)亂碼;

2、 這句話可以強制要求瀏覽器以utf-8編碼方式來查看頁面,但有一點需要注意,可能Apache的字符集為非UTF-8,例如GB2312,此時瀏覽器會優(yōu)先以服務(wù)器(GB2312)的字符集編碼打開,又可能導(dǎo)致亂碼;所以一般可以這么處理:關(guān)閉服務(wù)器Apache的字符集AddDefaultCharset off 此時瀏覽會以頁面Head中字符集打開;

3、PHP一般都與Mysql數(shù)據(jù)庫交互,兩者進行數(shù)據(jù)通信時,也有一個編碼問題,不管增還是查,必須指定通信編碼方式(一般與Head中編碼方式UTF-8一致,否則取出來的數(shù)據(jù)是以非UTF-8編碼的,到頁面上顯示仍舊為亂碼;把UTF-8編碼的字符通過非UTF-8的通信方式傳輸?shù)綌?shù)據(jù)庫同樣會失敗,我遇到了這個Insert失敗問題,希望大家不要重蹈覆轍,O(∩_∩)O~) 指定通信方式方法:mysql_query('set names utf8'),注意不是utf-8;

4、一般跟數(shù)據(jù)庫建庫時的編碼沒有關(guān)系,修改后sql語句執(zhí)行會有問題,比如前臺可視化工具操作刪除數(shù)據(jù)時會報字符集不符合的錯誤(我用的工具為MySql-Front),也不需要修改my.ini文件中的編碼方式,修改后可能導(dǎo)致Mysql無法啟動,報1065錯誤 ;只要命令行執(zhí)行mysql客戶機程序時增與查沒有出現(xiàn)亂碼,數(shù)據(jù)庫的編碼方式應(yīng)該是沒有問題的,重點需要檢查的是否是上面三個導(dǎo)致的亂碼。

評論
好吊妞免费视频在线观看,久久亚洲国产人成综合网,久久精品国产2020,欧美精品综合在线
视频一区中文字幕日本有码 | 亚洲在在线观看免费视频 | 一区二区三区四区网友自拍 | 日韩电影免费在线观看视频 | 久久免费国产視频 | 香港三级日本三级少妇三级 |