以前的國外主機(jī)用的Mysql是4.x系列的,感答尺消困仔覺還比較好,都無論GBK和UTF-8都沒有亂碼,沒想到新的主機(jī)的Mysql是5.0版本的,導(dǎo)入數(shù)據(jù)后,用Php讀出來全是問號(hào),亂碼一片,記得我以前也曾經(jīng)有過一次切換出現(xiàn)亂碼的經(jīng)驗(yàn),原因肯定是Mysql版清知本之間的差異問題。
創(chuàng)新互聯(lián)建站專注于杭州企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè),購物商城網(wǎng)站建設(shè)。杭州網(wǎng)站建設(shè)公司,為杭州等地區(qū)提供建站服務(wù)。全流程按需求定制網(wǎng)站,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)建站專業(yè)和態(tài)度為您提供的服務(wù)
只好查資料,發(fā)現(xiàn)了一個(gè)解決方法,就是在mysql_connect后面加一句SET
NAMES
UTF8,即可使得UTF8的數(shù)據(jù)庫消除亂碼,對(duì)于GBK的數(shù)據(jù)庫則使用SET
NAMES
GBK,代碼如下:
$mysql_mylink
=
mysql_connect($mysql_host,
$mysql_user,
$mysql_pass);
mysql_query("SET
NAMES
'GBK'");
你phpmyadmin也沒設(shè)置好。把表整理為utf8-unicode-ci
,字段也是。連接校隊(duì)也是。首先,要在phpmyadmin
顯示正常。
下面這慎碧個(gè)是數(shù)據(jù)庫輸出時(shí),網(wǎng)頁顯示亂碼的處理。
mysql_query("set
name
xxx");
xxx
是你的網(wǎng)頁游悔編碼。
這句話放在SQL連接成功語句后。但是要在寬磨舉SQL語句執(zhí)行之前。
MYSQL的字段名轉(zhuǎn)義使用返引號(hào)`,不是單引號(hào),注意上緩兄面代碼的下面部分:
WHERE '賬戶'='中文'; //查詢中文字報(bào)錯(cuò),數(shù)字字母都能正常查詢
【賬戶】是字段名,應(yīng)使用反引號(hào):
`賬戶`
【中文】是常量,單雙引號(hào)都可以,但是要注意你現(xiàn)在的語句是擾拿襲在單引號(hào)里面,因此應(yīng)該轉(zhuǎn)義或者使用雙引號(hào),這部分可以修改為:
WHERE 賬戶="中文"';
另外,如果只是查詢中文內(nèi)容才報(bào)錯(cuò),可能你粘貼代碼和原始代碼有區(qū)別,原始代碼沒有把字段名放在單引號(hào)里面,否則是查不到內(nèi)容的。查詢中文內(nèi)容報(bào)錯(cuò),一般是中敏胡文的編碼和網(wǎng)頁文件的編碼、以及數(shù)據(jù)庫的編碼不一致,你這來數(shù)據(jù)庫是UTF8,那么PHP腳本文件、瀏覽器網(wǎng)頁都必須使用UTF-8
分享標(biāo)題:php無法識(shí)別數(shù)據(jù)庫中文 php無法連接數(shù)據(jù)庫
URL地址:http://jinyejixie.com/article28/ddpejcp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化、、網(wǎng)站設(shè)計(jì)、建站公司、定制網(wǎng)站、網(wǎng)站收錄
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)