我正在开展一个土耳其项目,并且有正常的函数调用,例如:
$this->model_board->Board_Column_Info();
上面代码中的大写“i”会出现以下错误代码:
[07-Apr-2014 08:11:22 Europe/Istanbul] PHP Fatal error: Call to undefined method Model_board::Board_Column_Info() in /home/project/public_html/application/controllers/main.php on line 6396
如果您使用小写“i”运行相同的代码,则无任何问题。
$this->model_board->Board_Column_info();
虽然它与问题无关,但我也会将代码发布到函数中:
function Board_Column_Info ( $board_column_id )
{
$this->db->select('*');
$this->db->from('board_column');
$this->db->where('board_column_id', $board_column_id );
$query = $this->db->get();
if ( $query->num_rows() > 0 )
{
$row = $query->row_array();
return $row;
}
else
{
return FALSE;
}
}
也许它干扰了“ı”的土耳其特色。
i I lowercase and uppercase i
ı I lowercase and uppsercase ı
它只发生在一个项目中,所以我很困惑,不知道如何处理它。
我怀疑编码错误,我该怎么检查?
答案 0 :(得分:1)
罪魁祸首:
setlocale(LC_ALL, 'tr_TR.UTF-8');
使用这个小(疯狂)代码会混淆你的所有例程和函数名称。
突然,函数名称Info()将不再起作用,你必须将其称为info(),因为资本我将被视为资本土耳其语ı(用大写字母时看起来完全相同)。
希望这有帮助。
答案 1 :(得分:0)
我想它不需要对土耳其字符做任何事情,它实际上是由你的方法定义的名称,我确定你的方法Board_Column_info()
是用小写字母定义的' i',方法名称是区分大小写的,即它们必须在声明它们的相同情况下被调用,如果你想检查尝试将函数声明更改为Board_Column_Info()
,那么它将为小写' i&#抛出致命错误39;