|
osCommerce的UTF-8中文編碼版,會使用php的iconv()函數來做信件內容及標題的內碼轉換.而要使用iconv()函數必須主機在做php編譯時開啟iconv的編譯參數.倘若你所租用的虛擬主機剛好沒有開啟iconv參數,將會有如下的錯誤訊息發生,無法正常執行信件寄送的程序.
Fatal error: Call to undefined function: iconv() in /home/xxx/public_html/includes/functions/general.php on line 1017
本程式提供主機iconv的替代方案,改以php使用者自訂函數的方法來取代,解決虛擬主機商無法配合設定iconv參數的困境.
iconv函數替代方案整合big5字串處理函數集(big5_func.inc)的函數與內碼對照表,僅提供osCommerce的UTF-8中文編碼版使用,針對繁體(Bbig5及UTF-8編碼)及簡體中文(GB2312及UTF-8編碼)做中文內碼轉換,並非模擬完整的iconv()函數功能,因此本程式目前並不適用其他語系的轉換.
程式下載
安裝方法
- 下載檔案,並解壓下列程式檔到 catalog/includes/functions/資料夾:
catalog/includes/functions/osc_iconv.php
catalog/includes/functions/big5_gb.tab
catalog/includes/functions/big5_utf8.tab
catalog/includes/functions/gb_big5.tab
catalog/includes/functions/utf8_big5.tab
- 修改前台檔案 catalog/includes/application_top.php檔案內容
在最後一個 ?> 符號前一行,輸入下列程式碼,然後將檔案存檔.
require(DIR_WS_FUNCTIONS . 'osc_iconv.php');
- 修改後台檔案 catalog/admin/includes/application_top.php檔案內容
在最後一個 ?> 符號前一行,輸入下列程式碼,然後將檔案存檔.
require(DIR_FS_CATALOG. 'includes/functions/osc_iconv.php');
補充說明
如果將來主機商調整成有支援iconv參數時,本程式自動會判斷系統是否有支援iconv(),發現系統有支援時便不會產生自訂函數,因此會自動使用系統所提供的iconv()函數.
|