Chinaunix首页 | 论坛 | 博客
  • 博客访问: 174800
  • 博文数量: 65
  • 博客积分: 1400
  • 博客等级: 上尉
  • 技术积分: 720
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-16 08:59
文章分类

全部博文(65)

文章存档

2011年(3)

2010年(3)

2009年(43)

2008年(16)

我的朋友

分类: LINUX

2009-10-12 17:31:09

目前的網際網路傳輸的資料編碼多是以萬國碼 (UTF-8) 為主,不過在台灣還是有相當多的網站使用的是 Big5 的繁體中文編碼的啊!如果你的 Apache 預設是以 UTF-8 編碼來傳輸資料,但你 WWW 的資料卻是 big5 , 那麼用戶端將會看到『亂碼』!雖然可以透過調整瀏覽器的編碼來讓資料正確顯示,不過總是覺得很討厭。 此時,你應該可以調整一下底下的兩個參數的喔!
[root@linux ~]# vi /etc/httpd/conf/httpd.conf
# 先確定有底下這幾行,理論上,應該都會有這幾行啦!
AddLanguage zh-TW .zh-tw
AddCharset  Big5        .Big5       .big5

# 找到底下這一行,應該是在 730 行左右
AddDefaultCharset UTF-8
# 你有兩種作法,一種是『直接指定由 WWW 宣告 Big5 編碼,而不用網頁表頭的宣告』:
AddDefaultCharset Big5
# 另一種則是不要宣告預設語系,由網頁表頭宣告的啦!直接註解起來即可
# AddDefaultCharset Big5

# 找到底下這一行(大約在 711 行),這一行在設定顯示語系的優先順序
LanguagePriority en ca ....(中間省略).... sv zh-CN zh-TW
# 將語系處理的優先順序中,以中文為優先吧!
LanguagePriority zh-TW en ca ....(中間省略).... sv zh-CN

你必須要注意的是,如果你已經在用戶端瀏覽器上面瀏覽過非 Big5 的網頁, 那麼
你修改過這個設定值後,仍然要將瀏覽器的快取 (cache) 清除才行!否則仍然會看到亂碼!
網友們已經回報過很多次了, 這不是 Apache 的問題,而是用戶端瀏覽器的快取所產生的啦!
記得處理處理!

另外,有沒有『 AddDefaultCharset Big5 』這一個設定值的存在是差很多的! 如果你指
定這個設定項目後,代表『由 WWW 發送到用戶端的網頁預設將都以 Big5 編碼為主』, 所以
如果你在 /var/www/html/ 內的網頁資料有 big5, utf8 不同編碼的話,那麼使用 utf8 編碼的
網頁將會在瀏覽器上面顯示亂碼!最好的作法是將該設定值註解掉,然後再你的網頁上面寫入:


	
	....其他省略....
這樣一來你的網頁就會向瀏覽器說明編碼的格式,嘿嘿!就可以正確的顯示出中文了!
在 /etc/php.ini 
個檔案內容有某些地方可以進行一些小修改, 也有某些地方你必須要特別留意,免得被用戶端誤用你的 PHP 資源:
[root@linux ~]# vi /etc/php.ini
register_globals = Off
# 這個項目請確定為 Off (預設就是 Off),因為如果設定為 On 時,
# 雖然程式執行比較不容易出狀況,但是很容易不小心就被攻擊。

log_errors = On
ignore_repeated_errors = On
ignore_repeated_source = On
# 這三個設定項目可以決定是否要將 PHP 程式的錯誤記錄起來,
# 建議將將重複的錯誤資料忽略掉,否則在很忙碌的系統上,
# 這些錯誤資料將可能造成你的登錄檔暴增,導致效能不佳 (或當機)

display_errors = Off
display_startup_errors = Off
# 當你的程式發生問題時,是否要在瀏覽器上頭顯示相關的錯誤訊息 (包括部分程式碼)
# 強烈的建議設定為 Off 。不過如果是尚未開放的 WWW 伺服器,為了你的 debug
# 容易,可以暫時的將他設定為 On ,如此一來你的程式問題會在瀏覽器上面
# 直接顯示出來,你不需要進入 /var/log/httpd/error_log 登錄當中查閱。
# 但程式完成後,記得將此設定值改為 Off 喔!重要重要!
建立一個簡單的檔案:
[root@linux ~]# vi /var/www/html/phpinfo.php

那個『 』是 PHP 模組的網頁嵌入式程式語法,
在這中間的就是 PHP 的程式碼啦。 那個『 phpinfo() 』是特殊的 PHP 函數,
可以顯示出目前你 WWW 伺服器內 PHP 模組的相關核心資料。 寫完之後立刻以瀏覽
器再查閱這個檔案看看:
 
 
如果你想要提供 Apache 的說明文件給自己的 WWW 伺服器的話, 可以安裝一下 httpd-manual 這個套件,你就會發現在這個目錄當中又會新增檔案 (manual.conf) ,而且從此你可以使用
阅读(726) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~