Zend Search Lucene И Персидский Язык! - PullRequest
5 голосов
/ 03 июня 2011

у меня есть следующий код в моем проекте zf:

$index = Zend_Search_Lucene::open(APPLICATION_PATH . '/cache/search_index');
        $doc = new Zend_Search_Lucene_Document();

        $title = "سلام سینا xxx sad";



        $doc->addField(Zend_Search_Lucene_Field::Text('title', $title));

        $index->addDocument($doc);
        $index->commit();

        $index->optimize();
        echo "Index contains " . $index->count() . " documents.\n\n";
        $results = $index->find('xxx');
        foreach ($results as $res) {


            var_dump($res->title);
        }

когда var_dump выполняет вывод -> Строка (39) "سی٠† ا جا٠† xxx sad"

когда я пользователь utf_decode string (25) "س ? ا ? س ? ? ا xxx sad"

как я могу правильно это декодировать! : (

я уже использовал решение в этом вопросе SOF -> проблема кодирования lucene в Zend Framework

но не работает и добавлена ​​ошибка уведомления о iconv!

plz help:)

1 Ответ

0 голосов
/ 07 июня 2011

Исправлено этим кодом:

$index = Zend_Search_Lucene::open(APPLICATION_PATH . '/cache/search_index');
    $doc = new Zend_Search_Lucene_Document();

    $title = "سلام سینا xxx sad";



    $doc->addField(Zend_Search_Lucene_Field::Text('title', $title,"UTF8"));

    $index->addDocument($doc);
    $index->commit();

    $index->optimize();
    echo "Index contains " . $index->count() . " documents.\n\n";



    var_dump($index->getDocument(9));

    echo "Search";
     $results = $index->find('سینا');
   foreach ($results as $res) {


        var_dump($res->title);
    }

    die(1); 
...