echo?"meta?charset='UTF-8'scriptalert('賬號(hào)或密碼錯(cuò)誤!','UTF-8');/script";
建網(wǎng)站原本是網(wǎng)站策劃師、網(wǎng)絡(luò)程序員、網(wǎng)頁(yè)設(shè)計(jì)師等,應(yīng)用各種網(wǎng)絡(luò)程序開發(fā)技術(shù)和網(wǎng)頁(yè)設(shè)計(jì)技術(shù)配合操作的協(xié)同工作。成都創(chuàng)新互聯(lián)公司專業(yè)提供網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站,網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站制作(企業(yè)站、成都響應(yīng)式網(wǎng)站建設(shè)公司、電商門戶網(wǎng)站)等服務(wù),從網(wǎng)站深度策劃、搜索引擎友好度優(yōu)化到用戶體驗(yàn)的提升,我們力求做到極致!
echo?"scriptwindow.history.back(1);/script";
亂碼需要從三個(gè)方面排除,第一數(shù)據(jù)庫(kù)編碼,第二php編碼,第三瀏覽器默認(rèn)編碼,這三個(gè)編碼必須統(tǒng)一
數(shù)據(jù)庫(kù)使用utf8編碼,需要在操作的過程中統(tǒng)一全部編碼。
1.數(shù)據(jù)庫(kù)默認(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)情況下,字段的編碼同表的編碼,但是如果修改了表的編碼,字段編碼不會(huì)同步修改,需要手動(dòng)修改
這里修改編碼測(cè)試我將utf8 改為 gb2312? ,僅用于觀察修改后的情況(實(shí)際使用中可能是將gbk修改為utf8)
ALTER?TABLE?`test`.`tablea`?CHARACTER?SET?=?gb2312?;
--?修改表編碼后,查看建表語(yǔ)句
show?create?table?`tablea`;
--?可以看到輸出的建表語(yǔ)句中字段單獨(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ù)庫(kù)連接的編碼
連接數(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ù)庫(kù)使用過程中不會(huì)出現(xiàn)亂碼
確保三碼合一就可以了..
第一個(gè)是數(shù)據(jù)庫(kù)的字符集
第二個(gè)就是存進(jìn)去的時(shí)候字符集
第三個(gè)就是顯示的時(shí)候的字符集
這三個(gè)都有可能造成亂碼;
第一個(gè) 舉例是:如果你插入的時(shí)候用的是GB2312 ,但你表中的default charset是utf8 那么,就有可能亂碼了.
第二種情況就是你插入正確 但你查詢的時(shí)候以UTF8查詢出來,但你在HTML頁(yè)面里設(shè)置編碼如果非UTF8那么也有可能造成亂碼.
meta 頭里 寫 是 gbk 或者 gb2312 沒有叫 gbk2312的
1. 檢查PHP文件本身的編碼 ,一般在 editplus 打開后 右下角能看到 ansi 就算正常了。
2. 寫meta標(biāo)記
3. 查看數(shù)據(jù)庫(kù)本身的編碼, 還有數(shù)據(jù)表 ,文本型字段的編碼。 這些在 phpmyadmin里就能看到
4. $result-query("set names gbk") 這個(gè)當(dāng)然要用。
5. 還有一種可能是 你插入數(shù)據(jù)的頁(yè)面 和 顯示數(shù)據(jù)的頁(yè)面 編碼不相同,
你先檢查上面的 所有編碼 然后把數(shù)據(jù)刪除了 ,重新插入 在看看
文章名稱:php輸入中文數(shù)據(jù)亂碼,php中文出現(xiàn)亂碼
URL鏈接:http://vcdvsql.cn/article36/hseosg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁(yè)設(shè)計(jì)公司、響應(yīng)式網(wǎng)站、動(dòng)態(tài)網(wǎng)站、ChatGPT、靜態(tài)網(wǎng)站、Google
聲明:本網(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)