pHp頁面顯示亂碼?創(chuàng)新互聯(lián)教你如何解決

2023-11-09    分類: 網(wǎng)站建設(shè)

網(wǎng)頁亂碼一直是網(wǎng)絡(luò)編程高手都頭痛的問題,在學(xué)習(xí)當(dāng)中經(jīng)常遇到這個(gè)問題,查找了相關(guān)的資源,總結(jié)如下:

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

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

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

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

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

4、Apache字符集

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

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

2、<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 這句話可以強(qiáng)制要求瀏覽器以u(píng)tf-8編碼方式來查看頁面,但有一點(diǎn)需要注意,可能Apache的字符集為非UTF-8,例如Gb2312,此時(shí)瀏覽器會(huì)優(yōu)先以服務(wù)器(Gb2312)的字符集編碼打開,又可能導(dǎo)致亂碼;所以一般可以這么處理:關(guān)閉服務(wù)器Apache的字符集AddDefaultCharset off 此時(shí)瀏覽會(huì)以頁面Head中字符集打開;

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

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

分享名稱:pHp頁面顯示亂碼?創(chuàng)新互聯(lián)教你如何解決
URL分享:http://muchs.cn/news40/293290.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機(jī)網(wǎng)站建設(shè)、網(wǎng)站導(dǎo)航網(wǎng)站內(nèi)鏈、搜索引擎優(yōu)化云服務(wù)器App設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

營(yíng)銷型網(wǎng)站建設(shè)