2011-06-03 11 views
5

tengo el siguiente código en mi proyecto ZF:Zend Search Lucene y el idioma persa!

$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); 
     } 

cuando var_dump realiza de salida -> string (39) "سی٠† † xxx ا جا٠triste"

cuando usuario utf_decode cadena (25) "س ? ا ? س ? ? ا xxx triste"

¡Cómo puedo decodificar eso correctamente! ? :(

que ya utilizan la solución en este quesion SOF ->lucene encoding problem in zend framework

pero no las obras y un aviso de error añadieron aproximadamente iconv

PLZ ayuda :)

+0

Salam, los datos de la base de datos de transbordo hombre az miaram va ghabl índice AZ kardanesh Dorost neshun mide vali vaghti documentam ro índice mikonam VA y reshte e farsi buscar mikonam natije i yo nemibinam, idea ii darin? –

+0

@SamiraKhorshidi lotf kon finglish nanevis inja ... lotfan biain a gmail ... codeton ro bayad bebinam [email protected] –

+0

mamnun, moshkel hal shod inam rahe hal :) https://stackoverflow.com/questions/5834861/ lucene-encoding-problem-in-zend-framework/5834910 # 5834910 –

Respuesta

0

fijo por este código :

$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);