看一下前端文件的編碼格式,是不是gb2312。如果是,就改前端html文件的編碼格式為utf8,如果不是,再看看數(shù)據(jù)庫保存的編碼格式??傊?,編碼格式一致,就不會出現(xiàn)亂碼。
為長白等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及長白網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都網(wǎng)站建設(shè)、做網(wǎng)站、長白網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!
將瀏覽器中的編碼改成utf-8,數(shù)據(jù)庫中也是。在php頁面首行加上header("Content-type:
text/html;
charset=utf-8");,必須首行,前面不能有輸出。
還有,在查詢數(shù)據(jù)庫時(shí)加上:mysql_query(set
names
utf-8);
亂碼有幾個(gè)方面
首先確保數(shù)據(jù)庫的編碼是否正確
其次確保連接數(shù)據(jù)庫的代碼是否指定了正確的編碼。
另外就是html頁面的編碼是否一致,麻煩把問題補(bǔ)充清楚方便排查問題。
數(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)情況下,字段的編碼同表的編碼,但是如果修改了表的編碼,字段編碼不會同步修改,需要手動修改
這里修改編碼測試我將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;
--?需要手動修改字段編碼
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)亂碼
當(dāng)前名稱:php插入數(shù)據(jù)庫亂碼 mysql數(shù)據(jù)庫亂碼如何解決
網(wǎng)頁地址:http://m.rwnh.cn/article46/hieheg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計(jì)、網(wǎng)站建設(shè)、Google、靜態(tài)網(wǎng)站、網(wǎng)站維護(hù)、電子商務(wù)
聲明:本網(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)