$link = mysql_connect('主機(jī)名或IP地址', '數(shù)據(jù)庫用戶名', '密碼') or die("Could not connect: " . mysql_error());
創(chuàng)新互聯(lián)技術(shù)團(tuán)隊(duì)10余年來致力于為客戶提供網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站制作、高端網(wǎng)站設(shè)計(jì)、成都全網(wǎng)營(yíng)銷推廣、搜索引擎SEO優(yōu)化等服務(wù)。經(jīng)過多年發(fā)展,公司擁有經(jīng)驗(yàn)豐富的技術(shù)團(tuán)隊(duì),先后服務(wù)、推廣了上千家網(wǎng)站,包括各類中小企業(yè)、企事單位、高校等機(jī)構(gòu)單位。
mysql_query("SET NAMES utf8");
mysql_query("SET CHARACTER SET utf8");
mysql_query("SET COLLATION_CONNECTION='utf8_general_ci'");
mysql_select_db('你要連接的數(shù)據(jù)庫名', $this-link);
我是做對(duì)日外包的,你再連接數(shù)據(jù)的時(shí)候,把上面一些的代碼放進(jìn)去試試,應(yīng)該可以的。
而且你得保證你的php文件編碼格式是utf8,可以用utral32編輯
access的中文版默認(rèn)是GBK格式的,是無法改變字符類型的,所以用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);}
二、為了寫入數(shù)據(jù)庫的編碼是符合數(shù)據(jù)庫需要的,所以我們還要制作一個(gè)從UTF-8轉(zhuǎn)向GBK的函數(shù):
function dec($c){return iconv('utf-8','gb2312',$c);}
制作好了轉(zhuǎn)碼函數(shù),接下就是正常使用了。在從數(shù)據(jù)庫里面調(diào)數(shù)據(jù)顯示在頁面的時(shí)候使用enc()函數(shù),從頁面提交數(shù)據(jù)到數(shù)據(jù)庫時(shí)使用dec()函數(shù),這樣就可以很好的解決PHP使用UTF-8編碼,ACCESS使用系統(tǒng)默認(rèn)編碼的問題了。
亂碼一直是困擾PHP初學(xué)者的一個(gè)非常大的問題,現(xiàn)在總結(jié)下造成亂碼的原因及解決方法:
一、HTML頁面編碼:meta http-equiv=content-type content=text/html; charset=utf-8 這里的編碼要和數(shù)據(jù)庫編碼,及連接數(shù)據(jù)庫編碼;
二、文件在存儲(chǔ)編碼:比如文件inde.php,改變其存儲(chǔ)編碼為所需編碼。只需用EditPlus等文本編輯軟件 文件另存為,在編碼中選擇正確的編碼(這點(diǎn)很多人都會(huì)忽略);
三、數(shù)據(jù)庫編碼:比如用的是phpmyadmin 選擇數(shù)據(jù)庫后,選擇操作選項(xiàng)。下面有一個(gè)整理,這里面也要設(shè)置成統(tǒng)一的編碼;
四、表編碼:操作和第三點(diǎn)類似。這里就不重復(fù)了;
五、字段編碼:在建表的建字段的時(shí)候,有個(gè)整理。如果內(nèi)容有漢字,就一定要改成統(tǒng)一的編碼;
六、連接數(shù)據(jù)庫時(shí)mysql_select_db()后面,要加一句 mysql_query( set names utf8 );
七、 (剛遇到的)本地測(cè)試成功后的網(wǎng)站,傳到網(wǎng)上去,會(huì)有亂碼??赡軙?huì)是在本地導(dǎo)出數(shù)據(jù)時(shí)沒有選擇正確的編碼,所以才會(huì)在導(dǎo)入到web上后有亂碼問題。