今天我終于開始自己寫一個完整的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讀出的資料不會出現亂碼;
轉載于:https://blog.51cto.com/510522/441314