真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

php調(diào)取數(shù)據(jù)庫(kù)中文亂碼 php文字亂碼

PHP在顯示數(shù)據(jù)庫(kù)中的中文數(shù)據(jù)時(shí)顯示亂碼

其實(shí),只要注意文件編寫(xiě)的時(shí)候編碼、數(shù)據(jù)庫(kù)的編碼一般就不會(huì)有這個(gè)問(wèn)題的,但是,比如你用DW(dwcs4貌似沒(méi)有這個(gè)現(xiàn)象)打開(kāi)文件,它會(huì)以默認(rèn)的編碼讀取,一旦你保存了,那就完了,用EditPlus打開(kāi)之后,右下角有編碼提示,如果發(fā)現(xiàn)不對(duì),另存為,覆蓋一下,就可以了

創(chuàng)新互聯(lián)專注于四川企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站,商城建設(shè)。四川網(wǎng)站建設(shè)公司,為四川等地區(qū)提供建站服務(wù)。全流程按需求定制設(shè)計(jì),專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)

高手求救,php調(diào)用mysql數(shù)據(jù)庫(kù)不能顯示中文呈亂碼?

以前的國(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'");

php數(shù)據(jù)庫(kù)中文亂碼是怎么造成的?

確保三碼合一就可以了..

第一個(gè)是數(shù)據(jù)庫(kù)的字符集

第二個(gè)就是存進(jìn)去的時(shí)候字符集

第三個(gè)就是顯示的時(shí)候的字符集

這三個(gè)都有可能造成亂碼;

第一個(gè) 舉例是:如果你插入的時(shí)候用的是GB2312 ,但你表中的default charset是utf8 那么,就有可能亂碼了.

第二種情況就是你插入正確 但你查詢的時(shí)候以UTF8查詢出來(lái),但你在HTML頁(yè)面里設(shè)置編碼如果非UTF8那么也有可能造成亂碼.

用PHP從數(shù)據(jù)庫(kù)中取出的中文是亂碼,怎么處理能使中文正常顯示?

數(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)自:

PHP讀取Access數(shù)據(jù)庫(kù) 出亂碼

access的中文版默認(rèn)是GBK格式的,是無(wú)法改變字符類型的,所以用php讀取的時(shí)候會(huì)亂碼。

解決方法是:使用iconv轉(zhuǎn)換

一、使用 iconv函數(shù)制作一個(gè)轉(zhuǎn)碼的自定義從GBK轉(zhuǎn)到UTF-8的函數(shù),如以下代碼:

function enc($c){return iconv('gbk','utf-8',$c);}

二、為了寫(xiě)入數(shù)據(jù)庫(kù)的編碼是符合數(shù)據(jù)庫(kù)需要的,所以我們還要制作一個(gè)從UTF-8轉(zhuǎn)向GBK的函數(shù):

function dec($c){return iconv('utf-8','gb2312',$c);}

制作好了轉(zhuǎn)碼函數(shù),接下就是正常使用了。在從數(shù)據(jù)庫(kù)里面調(diào)數(shù)據(jù)顯示在頁(yè)面的時(shí)候使用enc()函數(shù),從頁(yè)面提交數(shù)據(jù)到數(shù)據(jù)庫(kù)時(shí)使用dec()函數(shù),這樣就可以很好的解決PHP使用UTF-8編碼,ACCESS使用系統(tǒng)默認(rèn)編碼的問(wèn)題了。


網(wǎng)站欄目:php調(diào)取數(shù)據(jù)庫(kù)中文亂碼 php文字亂碼
標(biāo)題網(wǎng)址:http://weahome.cn/article/hpgjge.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部