這個(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)公司專注于翔安企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè)公司,商城開發(fā)。翔安網(wǎng)站建設(shè)公司,為翔安等地區(qū)提供建站服務(wù)。全流程按需定制設(shè)計(jì),專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,成都創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)
網(wǎng)頁文件也保存為utf8的
(不要bom頭的那種)以后寫php就很少出現(xiàn)問題啦。要是在php文件的最上面一行再加上這么一句代碼,?php
header("Content-Type:text/html;
charset=utf-8");?,那出現(xiàn)問題的幾率就更小了。
你是用phpmyadmin連接數(shù)據(jù)庫的時(shí)候,也選擇下字符集,看你插入數(shù)據(jù)用的什么字符集,你連接數(shù)據(jù)庫的時(shí)候,也選擇相同的字符集,應(yīng)該就好了
要解決亂碼首先需要知道出現(xiàn)亂碼的原因:
一、PHP+MySQL出現(xiàn)中文亂碼的原因。
1. MYSQL數(shù)據(jù)庫的編碼是utf8,與PHP網(wǎng)頁的編碼格式不一致,就會(huì)造成MYSQL中的中文亂碼。
2. 使用MYSQL中創(chuàng)建表、或者選擇字段時(shí)設(shè)置的類型不是utf8,而網(wǎng)頁編碼不是utf8,也可能造成MYSQL中文亂碼.
3. PHP頁面的字符集與數(shù)據(jù)庫的編碼不一致。
4. PHP連接MYSQL數(shù)據(jù)庫,操作是設(shè)定的語句指定的編碼和頁面編碼,PHP頁面編碼不一致。
5. 用戶提交的HTML頁面編碼,和顯示數(shù)據(jù)的頁面編碼不一致 ,就肯定會(huì)造成PHP頁面亂碼.
二、解決中文亂碼:
1. 網(wǎng)頁編碼設(shè)置。一般在HTML代碼中的文件頭html中加入屬性:
meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″
保證,網(wǎng)頁是"utf-8"編碼。
2. PHP代碼設(shè)置。在php代碼的開始部分加入以下代碼:
header(”Content-type: text/html;charset=utf-8″);
且要求保存的文件編碼方式是utf-8,這樣就保證了該文件也是utf-8編碼。
3. 數(shù)據(jù)庫中表的字段中存儲(chǔ)中文的部分,要設(shè)置為utf8_general_ci類型。
4.PHP在連接數(shù)據(jù)庫操作時(shí),要設(shè)置操作的字段類型為utf8,設(shè)置方法如下:
mysql_connect(’localhost’,'user’,'password’);mysql_select_db(’db’);mysql_query(”set names utf8;”); //**設(shè)置字符集***
1、在test.php文件內(nèi),使用header設(shè)置test.php執(zhí)行的編碼為utf8,避免輸出中文的時(shí)候出現(xiàn)亂碼。
2、在test.php文件內(nèi),創(chuàng)建一個(gè)測(cè)試的數(shù)組,例如,定義一個(gè)分類的數(shù)組,其對(duì)應(yīng)的索引值分別為0,4,8。
3、在test.php文件內(nèi),使用array_values()方法將上一步的數(shù)據(jù)重新排序,并且從0開始,把重新排序的數(shù)組保存在$result變量中。
4、在test.php文件內(nèi),使用foreach方法遍歷數(shù)組,其中$k為索引值,$v為索引值對(duì)應(yīng)的數(shù)組值。
5、在test.php文件內(nèi),使用echo方法輸出數(shù)組中的索引值和對(duì)應(yīng)的數(shù)組值即可。