我正在cakephp 1.3上工作。我在字符编码中发现问题。我有两个模型关键字和组,使关键字属于组。我想要做的是在模型关键字中执行全文查询。CakePHP HTML qoute编码问题
function geParentKeyword($keyword) {
//$keyword = *Acupuncturist*; Assuming this as input
$match = html_entity_decode("MATCH(Keyword.keyword) AGAINST (\"".trim($keyword)."\" IN BOOLEAN MODE)");
return $this->find('first', array('fields' =>array('Group.name'), 'conditions' =>array($match)));
}
我得到了错误的结果与此查询。我调试查询,我得到这个
SELECT `Group`.`name`
FROM `keywords` AS `Keyword`
LEFT JOIN `groups` AS `Group` ON (`Keyword`.`group_id` = `Group`.`id`)
WHERE MATCH(`Keyword`.`keyword`) AGAINST ("*Acupuncturist*" IN BOOLEAN MODE)
LIMIT 1"
查询是完美的,但这里的问题是在$比赛蛋糕转换双引号为"
我html_entity_decode和str_replace()函数尝试,但他们表现出相同的查询。
欲了解更多详情。
core.php中
Configure::write('App.encoding', 'UTF-8');
database.php中
var $default = array(
….
'encoding' => 'UTF8',
);
预期结果
MATCH(Keyword.keyword) AGAINST (' *Acupuncturist* ' IN BOOLEAN MODE)
请指引我是什么的问题。提前致谢。
在调用getParentKeyword之后,'$ keyword'看起来像什么?在功能头后直接打印出来... – shadyyx
它显示*针灸师*这是有效的 –