將瀏覽器中的編碼改成utf-8,數(shù)據(jù)庫(kù)中也是。在php頁(yè)面首行加上header(Content-type: text/html; charset=utf-8);,必須首行,前面不能有輸出。
創(chuàng)新互聯(lián)公司成立于2013年,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目做網(wǎng)站、成都網(wǎng)站建設(shè)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元洪澤做網(wǎng)站,已為上家服務(wù),為洪澤各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:13518219792
將瀏覽器中的編碼改成utf-8,數(shù)據(jù)庫(kù)中也是。在php頁(yè)面首行加上header(Content-type:text/html;charset=utf-8);,必須首行,前面不能有輸出。
在命令行添加的時(shí)候,如果是Windows系統(tǒng),默認(rèn)是GBK的,所以你先在命令行里面執(zhí)行一句 set names utf8;再添加,這樣,在phpmyadmin中看就不是亂碼了。多學(xué)點(diǎn)編碼的知識(shí)。
有亂碼問(wèn)題歸結(jié)到字符編碼的問(wèn)題。php很久沒(méi)用了 你在使用哪個(gè)phpmyadmin的時(shí)候,每個(gè)字段,包括整個(gè)數(shù)據(jù)表項(xiàng)的字符編碼格式設(shè)置對(duì)了。
其次,要保證你插入的中文是utf-8格式,如果你的網(wǎng)頁(yè)編碼是其它的,則要通過(guò)函數(shù)把字符串轉(zhuǎn)成utf-8格式轉(zhuǎn)插入或修改。再次,在插入前,將數(shù)據(jù)庫(kù)的寫讀設(shè)置成utf-8,以免它使用默認(rèn)的編碼插入,這要就有可能出問(wèn)題。
數(shù)據(jù)庫(kù)編碼沒(méi)有設(shè)置好??梢哉Wx出來(lái)是因?yàn)楸热缒銛?shù)據(jù)庫(kù)編碼是utf-8,你寫進(jìn)去的數(shù)據(jù) 是gbk,你讀出來(lái)的數(shù)據(jù)也轉(zhuǎn)成gbk,所以不影響你在頁(yè)面顯示的效果。
另外注意文件本身的編碼與html代碼頭meta中的編碼說(shuō)明保持一致。
因?yàn)镻HP 連接數(shù)據(jù)庫(kù)的過(guò)程中會(huì)經(jīng)過(guò)三次編碼轉(zhuǎn)換,比如輸出的的時(shí)候 MySql Server(UTF-8) - PHP Connection( Latin1) - UTF8頁(yè)面的Result(UTF-8) 這時(shí)兩種編碼不兼容則產(chǎn)生亂碼。
一般來(lái)說(shuō),亂碼問(wèn)題其實(shí)也就是編碼不一致導(dǎo)致的。
1、就不會(huì)亂碼了 還有其他方法,比如在php的echo前面加入header(ContentType:text/html;charset=gb2312);當(dāng)然簡(jiǎn)體中文頁(yè)面也可以干脆地,把中的UTF-8改成gb2312。
2、php本身不是Unicode的,所有substr之類的函數(shù)得改成mb_substr(需要裝mbstring擴(kuò)展);或者用iconv轉(zhuǎn)碼。
3、php數(shù)據(jù)庫(kù)中文亂碼的解決辦法:創(chuàng)建數(shù)據(jù)庫(kù)時(shí),規(guī)定字符類型為uft8;創(chuàng)建表時(shí),規(guī)定字符類型為utf8;在PHP的MySQL連接函數(shù)中,添加語(yǔ)句“mysql_query(set names utf8)。
4、網(wǎng)頁(yè)上的中文顯示亂碼,一般是編碼不一致,PHP文件需要根據(jù)自己文件的編碼(UTF還是ASCII),設(shè)置對(duì)應(yīng)的header語(yǔ)句,使得瀏覽器以正確的編碼顯示,否則就會(huì)亂碼。