CakePHP HTML qoute编码问题

CakePHP HTML qoute编码问题,php,mysql,cakephp,Php,Mysql,Cakephp,我正在研究CakePHP1.3。我发现字符编码有问题。我有两个模型关键字和组,这样关键字就属于组。我要做的是在model关键字中执行全文查询 function geParentKeyword($keyword) { //$keyword = *Acupuncturist*; Assuming this as input $match = html_entity_decode("MATCH(Keyword.keyword) AGAINST (\"".trim($keyword)."\

我正在研究CakePHP1.3。我发现字符编码有问题。我有两个模型关键字,这样关键字就属于组。我要做的是在model关键字中执行全文查询

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"
查询很完美,但这里的问题是$match cake将双引号转换为
我尝试了html\u entity\u decode和str\u replace(),但它们显示相同的查询

更多细节

Core.php

Configure::write('App.encoding', 'UTF-8');
var $default = array(
        ….
        'encoding' => 'UTF8',
    );
Database.php

Configure::write('App.encoding', 'UTF-8');
var $default = array(
        ….
        'encoding' => 'UTF8',
    );
预期结果

MATCH(Keyword.keyword) AGAINST (' *Acupuncturist* ' IN BOOLEAN MODE)
请告诉我是什么问题。提前谢谢。

试试看

$match = 'MATCH(Keyword.keyword) AGAINST (\''. html_entity_decode(trim($keyword)) .'\' IN BOOLEAN MODE)';
你试过这个吗

$match = "MATCH(Keyword.keyword) AGAINST ('".trim($keyword)."' IN BOOLEAN MODE)";

我自己解决这个问题

这是由于调试模式,我禁用调试模式。它只工作

Configure::write('debug', 0);

调用
getParentKeyword
后,
$keyword
是什么样子的?直接在函数头后打印出来……它显示针灸师valid@MoyedAnsari我想重复我的问题:
$keyword
调用
getParentKeyword
后是什么样子的?直接在函数h之后打印出来ead…否决了这个,因为这不会修复它。它会隐藏错误条件。调试模式与字符编码无关…它隐藏了症状。原因仍然存在。它会回来咬你…@RichardAtHome同意这不是解决方案,我使用的是cakephp 1.3