1、保證文件的編碼,瀏覽器解析編碼。數(shù)據(jù)庫(kù)數(shù)據(jù)輸出編碼一致就可以了。先把mysql的數(shù)據(jù)庫(kù)編碼設(shè)為utf8。
創(chuàng)新互聯(lián)建站專業(yè)為企業(yè)提供盤州網(wǎng)站建設(shè)、盤州做網(wǎng)站、盤州網(wǎng)站設(shè)計(jì)、盤州網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、盤州企業(yè)網(wǎng)站模板建站服務(wù),十載盤州做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
2、names gb2312了的,那么set names gb2312之后獲取數(shù)據(jù)顯示肯定不會(huì)異常。我估計(jì)你插入數(shù)據(jù)的時(shí)候沒(méi)有set names gb2312,或者字段的 字符集 類型不正確。
3、將瀏覽器中的編碼改成utf-8,數(shù)據(jù)庫(kù)中也是。在php頁(yè)面首行加上header(Content-type:text/html;charset=utf-8);,必須首行,前面不能有輸出。
4、可以使用mb_string方法,將字符串先進(jìn)行UTF8的處理,需要確定的是MYSQL中該表對(duì)應(yīng)的該字段字符也需要為“UTF8”。
5、典型的編碼問(wèn)題。在php中mysql_connect之后,加一句:mysql_query(set names utf8, $con);用來(lái)設(shè)置一下編碼。php文件的編碼(一般是UTF8無(wú)BOM)也應(yīng)該與數(shù)據(jù)庫(kù)的編碼一致。
php數(shù)據(jù)庫(kù)中文亂碼的解決辦法:創(chuàng)建數(shù)據(jù)庫(kù)時(shí),規(guī)定字符類型為uft8;創(chuàng)建表時(shí),規(guī)定字符類型為utf8;在PHP的MySQL連接函數(shù)中,添加語(yǔ)句“mysql_query(set names utf8)。
數(shù)據(jù)庫(kù)采用UTF8編碼,而頁(yè)面申明編碼是GB2312,這是最常見的產(chǎn)生亂碼的原因。
那么你可以嘗試將php文件以記事本的格式打開,并保存為utf8格式。如果是GBK或gb2312 則保存為ansi 格式 則就不會(huì)出現(xiàn)亂碼的問(wèn)題。
php數(shù)據(jù)庫(kù)中文亂碼的解決辦法:創(chuàng)建數(shù)據(jù)庫(kù)時(shí),規(guī)定字符類型為uft8;創(chuàng)建表時(shí),規(guī)定字符類型為utf8;在PHP的MySQL連接函數(shù)中,添加語(yǔ)句“mysql_query(set names utf8)。
文件在存儲(chǔ)編碼:比如文件inde.php,改變其存儲(chǔ)編碼為所需編碼。
PHP頁(yè)面語(yǔ)言本身的編碼類型不合適,這時(shí)候,你直接在腳本中寫的中文肯定是亂碼,不用說(shuō)數(shù)據(jù)庫(kù)了 解決方法:選擇UTF8或者gb2312,這樣客戶瀏覽器會(huì)自動(dòng)選擇并出現(xiàn)正確的中文顯示。