私はcakephp 1.3に取り組んでいます。文字エンコーディングに問題があります。Keyword が Groupに属するように、KeywordとGroupの2 つのモデルがあります。私がやろうとしているのは、モデル キーワードで全文クエリを実行することです。
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 でケーキが二重引用符をに変換します"
html_entity_decode と str_replace() で試しましたが、同じクエリが表示されます。
詳細については。
Core.php
Configure::write('App.encoding', 'UTF-8');
データベース.php
var $default = array(
….
'encoding' => 'UTF8',
);
期待される結果
MATCH(Keyword.keyword) AGAINST (' *Acupuncturist* ' IN BOOLEAN MODE)
何が問題なのか教えてください。前もって感謝します。