PHPNuke utf-8 中文測試網提供的程式會產生這個亂碼的問題,畫面如下:
我發現是modules/Stories_Archive/index.php在顯示連結時,未把utf-8編碼的月份給urlencode,造成後續的點選,會顯示亂碼,
所以要改成此問題,請將38行改成
echo "<li><a href="modules.php?name=$module_name&sa=show_month&year=$year&month=$getdate[2]&month_l=".urlencode($month)."">$month, $year</a>";
154行改成
echo "<li><a href="modules.php?name=$module_name&sa=show_month&year=$year&month=$getdate[2]&month_l=".urlencode($month)."">$month, $year</a>";
266行改成
echo "<li><a href="modules.php?name=$module_name&sa=show_month&year=$year&month=$getdate[2]&month_l=".urlencode($month)."">$month, $year</a>";
另外
因為是utf-8編碼,所以在約284行的
$month_l = isset($month_l)? FixQuotes($month_l) : "";
就不須要再使用FixQuotes這個函式了!
而約58的$month_l = htmlentities($month_l);
也請把它註解起來,如此才能顯示不亂碼的utf-8編碼的月份顯示喔!
2007-04-14