【发布时间】:2015-11-08 13:53:57
【问题描述】:
我正在尝试使用 Codeigniter 3.0 在我的网站上实现搜索表单,但 redirect() 方法存在一些问题。
我想要做的是,当我输入一些字符串并按回车键时,它会向控制器发出 post 请求,然后控制器将获取字符串并将当前 url 重定向到 http://example.com/search/string
所以,这是我拥有的代码:
搜索表格:
<form action="/search" method="post" accept-charset="UTF-8">
获取搜索字符串并进行重定向的控制器:
public function do_search() {
$search = $this->input->post('search');
log_message('debug', 'search: ' . $search);
if ($search) {
redirect('search/' . $search, 'refresh');
} else {
redirect('/', 'refresh');
}
}
config.php:
$config['permitted_uri_chars'] = 'üÜöÖğĞıİəƏçÇşŞ a-z 0-9~%.:_\-';
另外,我的基本控制器上有以下代码:MY_Controller
$this->output->set_header('Content-Type: text/html; charset=utf-8');
现在,当我在搜索表单上输入 "həə" 时,它会重定向,但 url 会变成 "hÉÉ"。如您所见,我正在控制器上记录搜索字符串,该字符串打印正确。 (如 "həə")。
我错过了什么吗?任何想法如何解决这个问题?
【问题讨论】:
标签: php codeigniter url redirect utf-8