讀取數(shù)據(jù)庫亂碼php 數(shù)據(jù)庫讀取中文亂碼

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

創(chuàng)新互聯(lián)公司,為您提供重慶網(wǎng)站建設(shè)公司、重慶網(wǎng)站制作、網(wǎng)站營(yíng)銷推廣、網(wǎng)站開發(fā)設(shè)計(jì),對(duì)服務(wù)報(bào)廢汽車回收等多個(gè)行業(yè)擁有豐富的網(wǎng)站建設(shè)及推廣經(jīng)驗(yàn)。創(chuàng)新互聯(lián)公司網(wǎng)站建設(shè)公司成立于2013年,提供專業(yè)網(wǎng)站制作報(bào)價(jià)服務(wù),我們深知市場(chǎng)的競(jìng)爭(zhēng)激烈,認(rèn)真對(duì)待每位客戶,為客戶提供賞心悅目的作品。 與客戶共同發(fā)展進(jìn)步,是我們永遠(yuǎn)的責(zé)任!

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

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

header("Content-Type:text/html;

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

php如何解決查詢出來的數(shù)據(jù)是亂碼問題

亂碼一直是困擾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上后有亂碼問題。

用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í)上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讀MYSQL中文亂碼的快速解決方法

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

以前的國(guó)外主機(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版本之間的差異問題。

只好查資料,發(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'");

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

網(wǎng)站題目:讀取數(shù)據(jù)庫亂碼php 數(shù)據(jù)庫讀取中文亂碼
網(wǎng)頁網(wǎng)址:http://muchs.cn/article38/doeijpp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google、靜態(tài)網(wǎng)站、網(wǎng)站制作網(wǎng)站建設(shè)、虛擬主機(jī)、面包屑導(dǎo)航

廣告

聲明:本網(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í)需注明來源: 創(chuàng)新互聯(lián)

綿陽服務(wù)器托管