php讀取數(shù)據(jù)庫消息亂碼 php讀取數(shù)據(jù)庫消息亂碼了

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

數(shù)據(jù)庫采用UTF8編碼,而頁面申明編碼是GB2312,這是最常見的產(chǎn)生亂碼的原因。這時(shí)候在PHP腳本里面直接SELECT數(shù)據(jù)出來的就是亂碼,需要在查詢前先使用:mysql_query("SET NAMES GBK");或mysql_query("SET NAMES GB2312");來設(shè)定MYSQL連接編碼,保證頁面申明編碼與這里設(shè)定的連接編碼一致(GBK是GB2312的擴(kuò)展)。如果頁面是UTF-8編碼的話,可以用:mysql_query("SET NAMES UTF8"); 注意是UTF8而不是一般用的UTF-8。假如頁面申明的編碼與數(shù)據(jù)庫內(nèi)部編碼一致可以不設(shè)定連接編碼。

從策劃到設(shè)計(jì)制作,每一步都追求做到細(xì)膩,制作可持續(xù)發(fā)展的企業(yè)網(wǎng)站。為客戶提供成都網(wǎng)站制作、網(wǎng)站建設(shè)、網(wǎng)站策劃、網(wǎng)頁設(shè)計(jì)、域名申請、網(wǎng)站空間、網(wǎng)絡(luò)營銷、VI設(shè)計(jì)、 網(wǎng)站改版、漏洞修補(bǔ)等服務(wù)。為客戶提供更好的一站式互聯(lián)網(wǎng)解決方案,以客戶的口碑塑造優(yōu)易品牌,攜手廣大客戶,共同發(fā)展進(jìn)步。

事實(shí)上MYSQL配置文件my.ini中定義了2個(gè)默認(rèn)編碼,分別是[client]里的default-character-set和[mysqld]里的default-character-set來分別設(shè)定默認(rèn)時(shí)候客戶端連接和數(shù)據(jù)庫內(nèi)部所采用的編碼。上面指定的編碼其實(shí)是MYSQL客戶端連接服務(wù)器時(shí)候的命令行參數(shù)character_set_client,來告訴MYSQL服務(wù)器接受到的客戶端數(shù)據(jù)是什么編碼的,而不是采用默認(rèn)編碼。

轉(zhuǎn)自:

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

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

php數(shù)據(jù)庫顯示亂碼~~~怎么辦~~~

這個(gè)可能是你在安裝環(huán)境的時(shí)候出現(xiàn)了問題,在安裝mysql的時(shí)候,數(shù)據(jù)庫默認(rèn)的不是gb2312,是西歐字符,建議你重新安裝數(shù)據(jù)庫,或是使用wampsever集成安裝環(huán)境,默認(rèn)數(shù)據(jù)庫是utf8的,只要你建的數(shù)據(jù)庫整理為utf8

網(wǎng)頁文件也保存為utf8的

(不要bom頭的那種)以后寫php就很少出現(xiàn)問題啦。要是在php文件的最上面一行再加上這么一句代碼,?php

header("Content-Type:text/html;

charset=utf-8");?,那出現(xiàn)問題的幾率就更小了。

PHP讀取MYSQL數(shù)據(jù)時(shí)出現(xiàn)亂碼怎么辦?

$link = mysql_connect('主機(jī)名或IP地址', '數(shù)據(jù)庫用戶名', '密碼') or die("Could not connect: " . mysql_error());

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);

我是做對日外包的,你再連接數(shù)據(jù)的時(shí)候,把上面一些的代碼放進(jìn)去試試,應(yīng)該可以的。

而且你得保證你的php文件編碼格式是utf8,可以用utral32編輯

php讀取mysql數(shù)據(jù)庫,輸出的內(nèi)容顯示亂碼

數(shù)據(jù)載入的時(shí)候是亂碼還是正常,是從別人機(jī)器上導(dǎo)出數(shù)據(jù)自己恢復(fù)的嗎?

查看下數(shù)據(jù)庫的字符集編碼,show

vaiables

like

'%char%'

查看下字符集

使用下latin1

因?yàn)樗悄J(rèn)的

,不行就把數(shù)據(jù)庫刪了重新建立在導(dǎo)入數(shù)據(jù)

PHP讀MYSQL中文亂碼的快速解決方法

打算切換某個(gè)網(wǎng)站的主機(jī),沒想到遇到Php和Mysql中文亂碼的問題。

以前的國外主機(jī)用的Mysql是4.x系列的,感覺還比較好,都無論GBK和UTF-8都沒有亂碼,沒想到新的主機(jī)的Mysql是5.0版本的,導(dǎo)入數(shù)據(jù)后,用Php讀出來全是問號,亂碼一片,記得我以前也曾經(jīng)有過一次切換出現(xiàn)亂碼的經(jīng)驗(yàn),原因肯定是Mysql版本之間的差異問題。

只好查資料,發(fā)現(xiàn)了一個(gè)解決方法,就是在mysql_connect后面加一句SET

NAMES

UTF8,即可使得UTF8的數(shù)據(jù)庫消除亂碼,對于GBK的數(shù)據(jù)庫則使用SET

NAMES

GBK,代碼如下:

$mysql_mylink

=

mysql_connect($mysql_host,

$mysql_user,

$mysql_pass);

mysql_query("SET

NAMES

'GBK'");

以上就是小編為大家?guī)淼腜HP讀MYSQL中文亂碼的快速解決方法的全部內(nèi)容了,希望對大家有所幫助,多多支持腳本之家~

網(wǎng)站題目:php讀取數(shù)據(jù)庫消息亂碼 php讀取數(shù)據(jù)庫消息亂碼了
網(wǎng)站網(wǎng)址:http://muchs.cn/article20/dosddco.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護(hù)App開發(fā)、服務(wù)器托管網(wǎng)站排名、網(wǎng)站改版靜態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)