PHP輸出中文亂碼解決:編碼終結(jié)者

學(xué)習(xí)PHP之初,根本就沒(méi)有意識(shí)到過(guò)有編碼那回事兒,隨著對(duì)中文的輸出越來(lái)越多,遇到輸出亂碼的情況也就更加普遍了。最早我們懷疑是數(shù)據(jù)庫(kù)編碼的問(wèn)題,于是在PHP代碼中的解決的辦法是:
MySQL_query("SET NAMES UTF8");   

但這樣做了后,網(wǎng)頁(yè)顯示的仍然是亂碼,于是有修改網(wǎng)頁(yè)頭部信息:
header('Content-type:text/html;charset=UTF8');

順便還找到條其他命令,也不知道能起到什么作用,反正遇到亂碼的時(shí)候就把它加進(jìn)去,解決問(wèn)題即可:
declare(encoding='UTF-8');

還有一種情況,是文件編碼與輸出編碼沖突,例如PHP文件編碼是ANSI(如果你用windows記事本創(chuàng)建的PHP文件,默認(rèn)就是ANSI),雖然我也不知道ANSI具體是什么,但我們希望輸出的是UTF-8,所以,還是亂碼了,于是,又在瀏覽器顯示編碼中設(shè)置網(wǎng)頁(yè)顯示編碼為UTF-8:

專注于為中小企業(yè)提供網(wǎng)站設(shè)計(jì)制作、做網(wǎng)站服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)杏花嶺免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了千余家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過(guò)網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。

PHP輸出中文亂碼解決:編碼終結(jié)者



問(wèn)題到此,基本能夠解決顯示亂碼的現(xiàn)象了!

但是,我覺(jué)得不應(yīng)該就此結(jié)束!因?yàn)槲覀円院筮€會(huì)遇到編碼沖突的情況,有沒(méi)有防患于未然的方案呢?

我大膽地思考這個(gè)問(wèn)題,然后百度了一下“PHP轉(zhuǎn)換字符串編碼”,果然有對(duì)應(yīng)的函數(shù)可以解決這個(gè)問(wèn)題!


那就是:

mb_detect_encoding — 檢測(cè)字符的編碼,和mb_convert_encoding — 轉(zhuǎn)換字符的編碼,這兩個(gè)函數(shù)。


關(guān)于這兩個(gè)函數(shù)的用法,請(qǐng)各位自己去搜索吧,PHP手冊(cè)里面也很詳盡,我就不在此占用篇幅了。


另外還有個(gè)函數(shù):iconv,它的效率比mb_convert_encoding 高,但功能沒(méi)mb_convert_encoding 好,了解后你自己取舍吧!


但,經(jīng)過(guò)本人研究了一兩天,貌似這兩個(gè)函數(shù)并沒(méi)如我所愿地把字符串隨意地轉(zhuǎn)換成GBK,GB2312,UTF-8的編碼,也許是我的“打開(kāi)方式不對(duì)”?總之,方法找到了,只是用法還沒(méi)掌握,也就是時(shí)間的問(wèn)題而已啦。


所以,在此分享本人的經(jīng)驗(yàn),希望能幫小白清除這方面的疑惑,也歡迎大牛在此補(bǔ)充指教哈!

新聞標(biāo)題:PHP輸出中文亂碼解決:編碼終結(jié)者
文章起源:http://muchs.cn/article26/ipphcg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機(jī)網(wǎng)站建設(shè)、商城網(wǎng)站、網(wǎng)站改版、網(wǎng)站內(nèi)鏈、做網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)

廣告

聲明:本網(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í)需注明來(lái)源: 創(chuàng)新互聯(lián)

小程序開(kāi)發(fā)