PHP與數(shù)據(jù)庫的編碼應一致

成都創(chuàng)新互聯(lián)專注于廬江企業(yè)網(wǎng)站建設,響應式網(wǎng)站開發(fā),商城網(wǎng)站制作。廬江網(wǎng)站建設公司,為廬江等地區(qū)提供建站服務。全流程按需求定制網(wǎng)站,專業(yè)設計,全程項目跟蹤,成都創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務
1. 修改mysql配置文件my.ini或my.cnf,mysql最好用utf8編碼
[mysql]
default-character-set=utf8
[mysqld]
default-character-set=utf8
default-storage-engine=MyISAM
在[mysqld]下加入:
default-collation=utf8_bin
init_connect='SET NAMES utf8'
2. 在需要做數(shù)據(jù)庫操作的php程序前加mysql_query("set names
'編碼'");,編碼和php編碼一致,如果php編碼是gb2312那mysql編碼就是gb2312,如果是utf-8那mysql編碼就是 utf8,這樣插入或檢索數(shù)據(jù)時就不會出現(xiàn)亂碼了
解決亂碼有幾種方式:
在讀取數(shù)據(jù)庫的時候設置連接編碼:mysql_query("set names utf8");
在讀取數(shù)據(jù)庫的php文件的頭部加:header("Content-type:text/html;charset=utf-8");
php文件不是utf8格式的編碼,需要轉(zhuǎn)化。用notpad++文本編輯器打開php文件,點擊菜單中的“格式”,查看是否是“以utf8 無bom格式編碼”,不是的話請轉(zhuǎn)成此格式。
html格式的在頭部加上:meta http-equiv="Content-Type" content="text/html; charset=utf-8" /
你看看你的是哪一種情況,都對比做的一下,還不行在問我。
你要保證你程序中指定的數(shù)據(jù)庫編碼和數(shù)據(jù)庫本身的編碼是一致的,
要存中文的話最好用utf-8編碼,同時php的文件編碼也用utf-8;
CREATE TABLE test (
`pid` int(11) NOT NULL AUTO_INCREMENT,
`version` varchar(50) NOT NULL,
`recorddate` datetime NOT NULL,
PRIMARY KEY (`pid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_general_ci;
建表的時候指定編碼和字符集,一般就不會有問題了。
我也曾遇到過這個問題,折騰了好幾個月終于找到原因了:
如下:
$query = "INSERT INTO biao(topid,title,link,body) VALUES(0,'這時標題','this my link','這里是身體');";
mysql_query(set names utf8);
mysql_query($query,$conn);
原因就是少了 mysql_query(set names utf8); 這一句 ,
并且這一句一定要加在 查詢語句(mysql_query($query,$conn);)的前面;
希望能夠幫到你,一起進步
你數(shù)據(jù)庫的第二個字段的字段類型是 int型或者其他數(shù)值型不是字符串類型。
這個要看你是什么形式去傳遞到PHP頁面,如果你HTML內(nèi)容不是用utf8編碼的話,傳過去的時候就會產(chǎn)生亂碼.如果你是用JS去傳值過去的話,編碼統(tǒng)一還是會出現(xiàn)這個問題,請用JS+escape函數(shù)解決.傳到PHP的時候到網(wǎng)上找一個PHP+unescape反譯...
分享標題:php添加數(shù)據(jù)庫漢字,php添加數(shù)據(jù)庫漢字數(shù)量
URL標題:http://chinadenli.net/article21/dsshgcd.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站、軟件開發(fā)、響應式網(wǎng)站、動態(tài)網(wǎng)站、App設計、企業(yè)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)