PHP統一頁面編碼避免亂碼問題,php頁面編碼亂碼
頁面編碼統一
MySQL資料庫編碼、html頁面編碼、PHP或html檔案本身編碼要全部一致。
1、MySQL資料庫編碼:
建立資料庫時指定編碼(如gbk_chinese_ci),建立資料表、建立欄位、插入資料時不要指定編碼,會自動繼承資料庫的編碼。
資料庫連接時,也有編碼,可以在串連完資料庫後,執行mysql_query(‘SET NAMES gbk');//將gbk換成你的編碼,如utf8。
2、html頁面的編碼,指的是這一行的設定:
複製代碼 代碼如下:
3、PHP或html檔案本身的編碼:
用editplus開啟php檔案或html檔案,另存時,選擇的編碼,如果資料庫和頁面編碼是gbk,則這兒的編碼選擇ansi;如果資料庫和頁面編碼是utf-8,則這兒也選擇utf-8。
4、Javascript或Flash中傳遞的資料是utf-8編碼:
另外要注意的是,Javascript或Flash中傳遞的資料是utf-8編碼,如果資料庫和頁面編碼是gbk,要進行轉碼,然後寫入資料庫。
複製代碼 代碼如下:
iconv('utf-8', 'gbk', $content);
5、在PHP程式中,可以加上一行,來指定PHP來源程式的編碼:
複製代碼 代碼如下:
header('Content-type: text/html; charset=gbk');
php頁面編碼
1.在檔案頭中設定編碼
複製代碼 代碼如下:
<?php
@header('Content-type: text/html;charset=UTF-8');
?>
2.header與meta的區別
用@header('Content-type: text/html; charset=gbk');與的區別
他們都是告訴瀏覽器用什麼編碼顯示網頁,要說有什麼不同,header是發送原始 HTTP 標題,不在網頁中留下什麼,而meta是寫在網頁中。
其一,如果網頁中沒有meta,那麼發送 HTTP 標題就起作用了。
其二,用header()函數發送原始 HTTP 標題,可以包含更多內容,設定編碼只是其中之一。
其三,有些時候不要網頁顯示什麼內容,但要通知瀏覽器用什麼編碼來進行後續動作。
http://www.bkjia.com/PHPjc/981357.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/981357.htmlTechArticlePHP統一頁面編碼避免亂碼問題,php頁面編碼亂碼 頁面編碼統一 MySQL資料庫編碼、html頁面編碼、PHP或html檔案本身編碼要全部一致。 1、MySQ...