php部分亂碼的解決方法:1、用Dreamweaver新建檔案;2、在mysql裡設定為utf8的字元集;3、在index.php的開頭要寫「content="text/html ; charset=utf-8」。
本文操作環境:Windows7系統、PHP7.1版,DELL G3電腦
# php的部分亂碼問題集的解決方法
今天我終於開始自己寫一個完整的web模板系統,是從零開始寫起的,以前做網站都是透過網路下載一個模板,然後修改頁面和部分動態程式碼,然後就ok了,但今天不一樣了,是從頭開始,因而這個我的畢業設計,哈哈,沒辦法,我的畢業設計的題目是「基於php技術的企業網站的模板設計”,因而我今天開始寫mvc的一些測試類,當然,首先從網上下載一個基於php的MVC留言本實例,這個實例有6個程序文件:分別是index.php程式入口,notebook.htm留言表單,然後新建一個資料夾,裡面有Model.php,View.php,Controller三個檔案分別實作MVC三個功能,還有一個DataAccess.php(是一個簡單的資料庫存取類別),一開始我是透過系統右鍵新建文字檔來新建php檔案的,這裡需要提醒一下初學者,不要這樣新建php文件,因為這樣會導致中文亂碼的,正確的方法是透過Dreamweaver新建,然後在導覽選單「編輯」-> ;“首選參數”->“新建文檔”裡,把預設編碼設定為“Unicode(UTF-8)”,“包括Unicode簽名(BOM)”的複選框去掉,就可以解決在調用php類別時,類別中需要用到return方法來返回靜態頁時,如果你不是按照以上的方式去做,有可能出現亂碼;
亂碼問題:
1、在index.php呼叫到View.php的方法時,在取得中文的時候出現亂碼,解決方法,就是用Dreamweaver新建,依上述操作,可以解決亂碼問題;
2、由於我用的是utf-8的字元集,所以mysql裡也要設定為utf8的字元集,如mysql的連接校對:utf8_general_ci,而表裡的字段的字元集是utf8_unicode_ci,在index.php的開頭要寫上< meta http-equiv="Content-Type" content="text/html; charset=utf-8" />,然後再DataAccess.php裡如下所示:
<?php class DataAccess { var $link_id; //用于存储数据库连接 var $query_id; //用于存储查询源 //! 构造函数. function __construct($host,$user,$pass,$db) { $this->link_id=mysql_pconnect($host,$user,$pass); //连接数据库服务器 mysql_select_db($db,$this->link_id); //选择所需数据库 mysql_query("SET NAMES 'utf8' ",$this->link_id); } function query($sql) { $this->query_id=mysql_unbuffered_query($sql,$this->link_id); // Perform query here if ($this->query_id) return true; else return false; } function fetchRows($sql) { $this->query($sql); $arr=array(); $i=0; while( $row=mysql_fetch_array($this->query_id,MYSQL_ASSOC) ) { $arr[$i]=$row; $i++; } return $arr; } } ?>
按照上面的操作基本你能解決從mysql讀出的資料不會出現亂碼。
【推薦學習:PHP影片教學】
#以上是怎麼解決php部分亂碼問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!