控制器读取中文作为参数错误400

时间:2014-07-27 23:22:34

标签: php codeigniter http-status-code-400

所以我有一个控制器,它读入一个参数来确定要显示的页面。 控制器使用模型从数据库(文章)中检索信息。

<?php if ( ! defined(‘BASEPATH’)) exit(‘No direct script access allowed’);

class Articles extends CI_Controller {
function __construct()
{
parent::__construct(); 
$this->load->model('ArtModel');
}

public function index($artTitle){ 
$data['query'] = $this->ArtModel->get_article(urldecode($artTitle));
$this->load->view('inc/header',$data);
$this->load->view('articles',$data);
$this->load->view('inc/footer'); 
}
}

解码URL就在那里,以便将正确的信息发送到数据库。而这一切都在当地有效。但是当我将它上传到我的网站时,我一直得到400,但如果输入参数($ artTitle)是英文字符,页面会正常显示。

谁能告诉我为什么这对汉字不起作用?

1 个答案:

答案 0 :(得分:0)

这似乎是一个数据字符集问题。检查&amp;更新application / config / database.php中的以下代码行

$db['default']['char_set'] = "utf8";
$db['default']['dbcollat'] = "utf8_general_ci";

希望这可行。