$this->redirect('/login@passport.sina.com.cn',array(),3,"正在转入登录页...");你看到的将可能是乱码!修复方法:
找到 ThinkPHP\common\function.php 加入字符集设置。
第852行开始,修改为如下:
function redirect($url, $time=0, $msg='') {
//多行URL地址支持
$url = str_replace(array("\n", "\r"), '', $url);
if (empty($msg))
$msg = "系统将在{$time}秒之后自动跳转到{$url}!";
if (!headers_sent()) {
// redirect
if (0 === $time) {
header('Location: ' . $url);
} else {
header("Content-type: text/html; charset=".C('DEFAULT_CHARSET'));
header("refresh:{$time};url={$url}");
echo($msg);
}
exit();
} else {
$str = "<meta http-equiv='Content-Type' content='text/html;charset=".C('DEFAULT_CHARSET')."'>";
$str .= "<meta http-equiv='Refresh' content='{$time};URL={$url}'>";
if ($time != 0)
$str .= $msg;
exit($str);
}
}因为直接修改了框架函数,升级时可能导致此函数被覆盖。请各位看看此 bug 是否真的存在,如果真存在,建议官方修复之。 最佳答案