無(wú)論數(shù)據(jù)庫(kù)或者是頁(yè)面
十年的東營(yíng)網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開(kāi)發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。營(yíng)銷(xiāo)型網(wǎng)站的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整東營(yíng)建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)從事“東營(yíng)網(wǎng)站設(shè)計(jì)”,“東營(yíng)網(wǎng)站推廣”以來(lái),每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
出現(xiàn)亂碼
問(wèn)號(hào)
空白
那基本就是編碼不一致的問(wèn)題。你數(shù)據(jù)庫(kù)設(shè)置了什么編碼
比如是utf-8
那么你頁(yè)面也設(shè)置這個(gè)編碼
并且使用header("content-type:
text/html;
charset=utf-8");讓瀏覽器也使用這個(gè)編碼
并且在連接數(shù)據(jù)庫(kù)的時(shí)候
mysql_query("set
names
utf8");
那么就不會(huì)出現(xiàn)亂碼
問(wèn)號(hào)
空白等情況了。
其實(shí)就是讓數(shù)據(jù)庫(kù)
頁(yè)面
瀏覽器編碼一致就可以。你檢查一下。
以前的國(guó)外主機(jī)用的Mysql是4.x系列的,感覺(jué)還比較好,都無(wú)論GBK和UTF-8都沒(méi)有亂碼,沒(méi)想到新的主機(jī)的Mysql是5.0版本的,導(dǎo)入數(shù)據(jù)后,用Php讀出來(lái)全是問(wèn)號(hào),亂碼一片,記得我以前也曾經(jīng)有過(guò)一次切換出現(xiàn)亂碼的經(jīng)驗(yàn),原因肯定是Mysql版本之間的差異問(wèn)題。
只好查資料,發(fā)現(xiàn)了一個(gè)解決方法,就是在mysql_connect后面加一句SET
NAMES
UTF8,即可使得UTF8的數(shù)據(jù)庫(kù)消除亂碼,對(duì)于GBK的數(shù)據(jù)庫(kù)則使用SET
NAMES
GBK,代碼如下:
$mysql_mylink
=
mysql_connect($mysql_host,
$mysql_user,
$mysql_pass);
mysql_query("SET
NAMES
'GBK'");
mysql數(shù)據(jù)庫(kù)的編碼和輸出網(wǎng)頁(yè)的編碼不一樣,可以把這段編碼放在你網(wǎng)頁(yè)原件PHP執(zhí)行mysql程序的前面試試:mysql_query("set names utf8"),把你utf8換成你網(wǎng)頁(yè)的編碼,如: gbk,gb2312.
同時(shí)祝你好運(yùn)!希望有幫助??傻杰浖y(cè)試基地,365testing逛逛
數(shù)據(jù)庫(kù)采用UTF8編碼,而頁(yè)面申明編碼是GB2312,這是最常見(jiàn)的產(chǎn)生亂碼的原因。這時(shí)候在PHP腳本里面直接SELECT數(shù)據(jù)出來(lái)的就是亂碼,需要在查詢前先使用:mysql_query("SET NAMES GBK");或mysql_query("SET NAMES GB2312");來(lái)設(shè)定MYSQL連接編碼,保證頁(yè)面申明編碼與這里設(shè)定的連接編碼一致(GBK是GB2312的擴(kuò)展)。如果頁(yè)面是UTF-8編碼的話,可以用:mysql_query("SET NAMES UTF8"); 注意是UTF8而不是一般用的UTF-8。假如頁(yè)面申明的編碼與數(shù)據(jù)庫(kù)內(nèi)部編碼一致可以不設(shè)定連接編碼。
事實(shí)上MYSQL配置文件my.ini中定義了2個(gè)默認(rèn)編碼,分別是[client]里的default-character-set和[mysqld]里的default-character-set來(lái)分別設(shè)定默認(rèn)時(shí)候客戶端連接和數(shù)據(jù)庫(kù)內(nèi)部所采用的編碼。上面指定的編碼其實(shí)是MYSQL客戶端連接服務(wù)器時(shí)候的命令行參數(shù)character_set_client,來(lái)告訴MYSQL服務(wù)器接受到的客戶端數(shù)據(jù)是什么編碼的,而不是采用默認(rèn)編碼。
轉(zhuǎn)自:
首先,在數(shù)據(jù)庫(kù),編碼選擇為utf8_unicode_ci
然后,php鏈接數(shù)據(jù)庫(kù)那里,加上一句,mysql_query("SET NAMES 'utf8'");//解決漢字
這樣就可以了
PHP與數(shù)據(jù)庫(kù)的編碼應(yīng)一致
1. 修改mysql配置文件my.ini或my.cnf,mysql最好用utf8編碼
[mysql]
default-character-set=utf8
[mysqld]
default-character-set=utf8
default-storage-engine=MyISAM
在[mysqld]下加入:
default-collation=utf8_bin
init_connect='SET NAMES utf8'
2. 在需要做數(shù)據(jù)庫(kù)操作的php程序前加mysql_query("set names
'編碼'");,編碼和php編碼一致,如果php編碼是gb2312那mysql編碼就是gb2312,如果是utf-8那mysql編碼就是 utf8,這樣插入或檢索數(shù)據(jù)時(shí)就不會(huì)出現(xiàn)亂碼了
網(wǎng)站標(biāo)題:php數(shù)據(jù)庫(kù)中文不顯示 php不顯示錯(cuò)誤
當(dāng)前路徑:http://sd-ha.com/article36/hiespg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站、網(wǎng)站設(shè)計(jì)、建站公司、域名注冊(cè)、外貿(mào)網(wǎng)站建設(shè)、小程序開(kāi)發(fā)
聲明:本網(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)