2005年5月11日 星期三

筆記本…

1.xml_domit_lite_parser中使用了utf8_encode()這個php內建的函式,試了半天繁體中文有問題。查了一下函數表,得到下則的解譯:
utf8_encode -- Encodes an ISO-8859-1 string to UTF-8
可見只能針對 ISO-8859-1去轉UTF-8。改為big5_utf8_encode,使用iconv解決目前的問題。但如果要能解決所有語言的部份,可能需要加入對應表+iconv來對應?


2.mosmsg的問題:
mosRedirect()如果直接用單個引數傳入時,例如:
mosRedirect( 'index2.php?option='. $option .'&menutype='. $menutype .'&mosmsg= '.$msg );
會產生亂碼。
所以要改成兩個引數傳入,例如:
mosRedirect( 'index2.php?option='. $option .'&menutype='. $menutype , $msg );
會影響後台的com_menu、com_trash…等數個檔案。

3.時間的格式問題,測試的結果在Windows平台上和UNIX like系統上的設定和行為不太一樣。
在Mambo裡的設定是在[網站]→[全域設定]→[本地]的"國家地區"中

Windows平台
設定應為cht_twn,輸出值為BIG5,如果要使用UTF-8編輯格式需經轉碼,方式如下:

日期的問題要改mambo.php的mosFormatDate與mosCurrentDate函式。
回傳值改為return mb_convert_encoding($date,"UTF-8","BIG5");


UNIX like平台(含Linux)
設定為zh_TW.UTF-8或zh_TW.BIG5,兩種會依後面所帶的編輯格式進行對應輸出。
如只設zh_TW,測試結果為BIG5。