你的數(shù)據(jù)庫是什么編碼的?默認(rèn)的latin編碼是不支持漢字的,改成utf8或者utf8mb4編碼,然后你的PHP文件編碼也使用utf8編碼
創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括鹽津網(wǎng)站建設(shè)、鹽津網(wǎng)站制作、鹽津網(wǎng)頁制作以及鹽津網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,鹽津網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到鹽津省份的部分城市,未來相信會繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
請將數(shù)據(jù)庫的編碼,表的編碼以及字段的編碼與網(wǎng)頁代碼的編碼保持一致。
另外注意文件本身的編碼與html代碼頭meta中的編碼說明保持一致。
那你看看是不是在連接數(shù)據(jù)庫的時(shí)候采用了utf8格式,語法如mysql_query('set
names
utf8');
?php
header("content-type:text/html;charset=gbk");
$conn=mysqli_connect("localhost","用戶","密碼","數(shù)據(jù)庫")
or
die("無法連接mysql數(shù)據(jù)庫服務(wù)器!");
$conn-query("set
names
gbk");
?
meta
http-equiv="content-type"
content="text/html;
charset=gbk"
/
這樣統(tǒng)一下
還有文件編碼格式不能是utf-8模式的
其實(shí),只要注意文件編寫的時(shí)候編碼、數(shù)據(jù)庫的編碼一般就不會有這個(gè)問題的,但是,比如你用DW(dwcs4貌似沒有這個(gè)現(xiàn)象)打開文件,它會以默認(rèn)的編碼讀取,一旦你保存了,那就完了,用EditPlus打開之后,右下角有編碼提示,如果發(fā)現(xiàn)不對,另存為,覆蓋一下,就可以了
1、頁面代碼里面要設(shè)置charset=utf-8
2、保存頁面文件時(shí)要編碼格式為utf-8
3、數(shù)據(jù)庫有關(guān)的表、字段、的編碼為utf8-general-ci
還不對的話,看下面。
我是這樣解決的:
$dbh = new PDO('mysql:host=localhost;dbname=test','root','');
$dbh-exec("SET NAMES 'utf8';");
或者沒用PDO
mysql_query("set names 'utf-8'");
數(shù)據(jù)庫使用utf8編碼,需要在操作的過程中統(tǒng)一全部編碼。
1.數(shù)據(jù)庫默認(rèn)編碼
CREATE?DATABASE?`test`?DEFAULT?CHARACTER?SET?'utf8';
2.表默認(rèn)編碼
CREATE?TABLE?`tablea`(
`id`?INT?NOT?NULL?AUTO_INCREMENT,
`title`?VARCHAR(100)?NULL,
)ENGINE=InnoDB?DEFAULT?CHARSET=utf8;
3.字段默認(rèn)編碼
默認(rèn)情況下,字段的編碼同表的編碼,但是如果修改了表的編碼,字段編碼不會同步修改,需要手動(dòng)修改
這里修改編碼測試我將utf8 改為 gb2312? ,僅用于觀察修改后的情況(實(shí)際使用中可能是將gbk修改為utf8)
ALTER?TABLE?`test`.`tablea`?CHARACTER?SET?=?gb2312?;
--?修改表編碼后,查看建表語句
show?create?table?`tablea`;
--?可以看到輸出的建表語句中字段單獨(dú)設(shè)置了編碼
CREATE?TABLE?`tablea`(
`id`?INT?NOT?NULL?AUTO_INCREMENT,
`title`?VARCHAR(100)?CHARACTER?SET?utf8?NULL,
)ENGINE=InnoDB?DEFAULT?CHARSET=gb2312;
--?需要手動(dòng)修改字段編碼
ALTER?TABLE?`tablea`?
CHANGE?COLUMN?`title`?`title`?VARCHAR(100)?CHARACTER?SET?'gb2312'?NULL?DEFAULT?NULL?;
4.當(dāng)前數(shù)據(jù)庫連接的編碼
連接數(shù)時(shí)設(shè)置編碼
//?PDO?連接
$db?=?new?PDO('mysql:host=myhost;dbname=test',?'login',?'password',?
array(PDO::MYSQL_ATTR_INIT_COMMAND?=?'SET?NAMES?\'UTF8\'')
);?
//?mysqli連接
$link?=?mysqli_connect("127.0.0.1",?"my_user",?"my_password",?"test");
mysqli_query($link,"SET?NAMES?'utf8';");
通過以上幾步操作,基本可以保證數(shù)據(jù)庫使用過程中不會出現(xiàn)亂碼
名稱欄目:php傳中文給數(shù)據(jù)庫亂碼 php寫入mysql中文亂碼
鏈接URL:http://vcdvsql.cn/article40/hhjheo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機(jī)網(wǎng)站建設(shè)、營銷型網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)公司、網(wǎng)站設(shè)計(jì)、網(wǎng)站排名、網(wǎng)站營銷
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(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)