IE在GET傳參時(shí)對(duì)中文編碼支持不好,需要使用encodeURI(SNAME)進(jìn)行編碼,然后在php中會(huì)自動(dòng)進(jìn)行解碼,無(wú)需干預(yù)。你使用error_log($_GET['SNAME'], 3, '/var/log/php.log');記錄一下$_GET['SNAME']的值會(huì)發(fā)現(xiàn)已經(jīng)解碼了。
城固網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)建站,城固網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為城固成百上千提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站建設(shè)要多少錢(qián),請(qǐng)找那個(gè)售后服務(wù)好的城固做網(wǎng)站的公司定做!
返回亂碼需要在PHP文件中設(shè)置下字符集,在代碼開(kāi)始前寫(xiě)上這一句header('Content-type: text/html; charset=utf-8');
如果是數(shù)據(jù)庫(kù)查詢出現(xiàn)亂碼,那么在數(shù)據(jù)庫(kù)連接的時(shí)候也要設(shè)置字符集,mysqli_set_charset(數(shù)據(jù)庫(kù)連接,'utf8');
這個(gè)可能是你在安裝環(huán)境的時(shí)候出現(xiàn)了問(wèn)題,在安裝mysql的時(shí)候,數(shù)據(jù)庫(kù)默認(rèn)的不是gb2312,是西歐字符,建議你重新安裝數(shù)據(jù)庫(kù),或是使用wampsever集成安裝環(huán)境,默認(rèn)數(shù)據(jù)庫(kù)是utf8的,只要你建的數(shù)據(jù)庫(kù)整理為utf8
網(wǎng)頁(yè)文件也保存為utf8的
(不要bom頭的那種)以后寫(xiě)php就很少出現(xiàn)問(wèn)題啦。要是在php文件的最上面一行再加上這么一句代碼,?php
header("Content-Type:text/html;
charset=utf-8");?,那出現(xiàn)問(wèn)題的幾率就更小了。
這種情況發(fā)生在以UTF-8編碼格式傳輸數(shù)據(jù)的時(shí)候,這開(kāi)頭的三個(gè)字節(jié)叫做BOM(Byte Order Mark,字節(jié)順序標(biāo)記),小程序接收到php端返回的數(shù)據(jù)后,把開(kāi)頭的三個(gè)字節(jié)去掉即可。
更徹底的解決辦法是把php文件保存為?不帶BOM的UTF-8?文件,這樣返回的數(shù)據(jù)就不帶BOM了