Child-spirit
desire to share,friendly and loving
towards all. not critical,not fearful

為了簡化例子 4.php不必用到MySQL資料庫,

Ting Na 從的流覽器 (IE或 FireFox)中點擊http://seed100.com/4.php;她的流覽器發出這請求, web伺服器(Apach or IIS)收到這請求

Apache Server幕後工作:

Apache Server得到對4.php的請求, 看到  .php 為副檔名的檔案全交由PHP預處理器 處理,一般都是放在作用區  WWW根目錄DocumentRoot下 PHP解析它,然后把结果返回到客户端浏览器。
PHP其实不过是Apache Web Server的一个模块功能, 是以模組方式包含到Apache伺服器裏安裝的, 或是作為單獨的CGI程式程式安裝的

Apache Server的幕後配置檔案是 " httpd.conf ",它存放的路徑為 C:\Program files\Apache Group\Apache2\conf 或 其他目錄下,用 記事本 打開它後,對它進行修改後再保存
記住 要Restart Apache服务器 便可達到配置的目的!
為了節省時間,可以這樣找:按 CTRL+F

右圖 你看到 httpd.conf 配置是   AddDefaultCharset  Big5
Apache Server網頁伺服器 發出命令 告知流覽器Browser (IE或 FireFox)將送出文件字型是Big5,流覽器 就調成Big5
所以無論在何處的任何電腦,點選 工具列 \ 檢視 \ 編碼時,結果發現 Browser 都是以 Big5在檢視網頁



Web Server 網頁服务器造成的乱码

但我的網頁是用 UTF-8 撰寫作成
參考HTML source code : <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

所以會出現亂碼

如果你可以更改Apache的httpd.conf :
AddDefaultCharset UTF-8 是最好, 但 虛擬主機Web Hosting網站代管服務 是租用外面的 無法更改設定,


手工解決方法: 在工具列 按 檢視 / 編碼 然后選擇 Unicode(UTF-8)就可以,

明白嗎?

Q : Browser流覽器(IE或 FireFox)不是很聰明, 難道不會自動偵測 ?

它是很聰明, 它會自動偵測 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />,而反應在Client的 Browser流覽器,希望你不要沒寫,還有<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
這些給Browser看的指令 都有其存在目的,不清楚可以參考此網站另外的教學網頁

若你不是租用 Web Hosting 時httpd.conf設定檔以自已操控, 在最前面加上 # ,這是httpd.conf的注釋標記
修改前:
AddDefaultCharset Big5
加上 # 使它成為註解(沒有作用) 修改後:
#AddDefaultCharset Big5

其實 關掉了Apache伺服器的預設的語言的發送 比較好, WAMP就是採用這作法,這樣就憑每一個網頁html<head>中設置的語言 來決定

Apache的httpd.conf : AddDefaultCharset是命令 Browser流覽器的字型,這行代碼 可有可無,而且大部分的中文亂碼問題 恐怕沒這麼簡單.....Learn more



4.php 解析並轉化成HTML

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>測試Apache & PHP,No MySQL</title>
</head>
<body>
<table border='2' cellpadding='7'>
<tr><td>產品Product</td><td>成本</td><td>售价</td></tr>
<tr><td>西瓜Watermelon</td><td>60</td><td>68</td></tr>
<tr><td>香蕉Banana</td><td>50</td><td>55</td></tr>
<tr><td>蘋果,苹果</td><td>12</td><td>18</td></tr>
</table>
</body>

</html>

4.php文件的原始碼
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>測試Apache & PHP,No MySQL</title>
</head>
<body>
<?php
$X[0][0]= "產品Product";
$X[0][1]= "成本";
$X[0][2]= "售价";
$X[1][0]= "西瓜Watermelon";
$X[1][1]= "60";
$X[1][2]= "68";
$X[2][0]= "香蕉Banana";
$X[2][1]= "50";
$X[2][2]= "55";
$X[3][0]= "蘋果,苹果";
$X[3][1]= "12";
$X[3][2]= "18";
echo "<table border='2' cellpadding='7'>";
for ($i=0;$i<=3;$i++)
{
echo "<tr>";
for ($j=0;$j<=2;$j++) {
echo "<td>";
echo $X[$i][$j]."</td>";
}
echo "</tr>";
}
echo "</table>";
?>
</body>
</html>

PHP程式碼(script)解析並轉化成HTML普通的網頁,在此例子是畫成表格, 此HTML被發回用戶的流覽器,所以用戶机Client 看不到PHP 的<? php
?>


作用区 : 要由PHP处理器 处理的源代码一般都是放在作用区 WWW根目录下, 但可由Apache的 httpd.conf 指定别的位置

# DocumentRoot: The directory out of which you will serve your # documents. By default, all requests are taken from this directory, but # symbolic links and aliases may be used to point to other locations.

怎么样,不错吧。祝你好运!