在Firefox 3.0.5中是可以正常進行搜尋功能,Firefox會自動轉碼:
http://www.joomla.org.tw/component/search/%E4%B8%AD%E6%96%87%E5%AD%97/?ordering=newest&searchphrase=all
在IE7中是可以正常進行搜尋功能,IE7不會自動轉碼,但還是正常:
http://www.joomla.org.tw/component/search/中文字/?ordering=&searchphrase=all
在Google Chrome的搜尋也會出錯
http://www.joomla.org.tw/component/search/%E4%B8%AD%E6?%E5%AD??ordering=newest&searchphrase=all
解決之法:
修改/libraries/joomla/environment/uri.php的第347行左右的toString函式
在
$uri .= in_array('query', $parts) ? (!empty ($query) ? '?'.$query : '') : '';
之前加入
$query=str_replace("%2F", "/", urlencode($query));
$query=str_replace("%3D", "=", $query);
$query=str_replace("%26", "&", $query);
目的是讓$query的字串如果出現中文時,會先作urlencode,這樣在IE6或Google Chrome中的中文搜尋都可以正常運作了。
沒有留言:
張貼留言