T&R splet blog o spletnih storitvah. Razgaljamo tehnologijo!

reference spletnih strani
14th January

Zend Search Lucene – UTF8 podpora – iconv težave

V primeru, da uporabljate ZEND Lucene paket za iskanje po vaših datotekah, vsebinah in želite pravo UTF-8 podporo morate pri indeksiranju vaših vsebin dodati Zend Lucene field z encoding parametrom. Primer dodajanja vsebine:

PHP:
  1. // Kreiramo UTF-8 vnos
  2. $doc = new Zend_Search_Lucene_Document();
  3. $doc->addField(Zend_Search_Lucene_Field::Keyword("keyword", "keyword", "utf-8"));
  4. $doc->addField(Zend_Search_Lucene_Field::Text("text", "text", "utf-8"));
  5. $doc->addField(Zend_Search_Lucene_Field::UnStored("unstored", "unstored", "utf-8"));
  6.  
  7. // Vnos dodamo k indeksu
  8. $index->addDocument($doc);

Nato pa morate pri iskanju defenirati Analayzer v UTF-8 načinu. Primer iskanja:

PHP:
  1. // Določimo UTF8 Analyzer
  2. Zend_Search_Lucene_Analysis_Analyzer::setDefault(new Zend_Search_Lucene_Analysis_Analyzer_Common_Utf8_CaseInsensitive());
  3.  
  4. // Določimo UTF8 QueryParser
  5. Zend_Search_Lucene_Search_QueryParser::setDefaultEncoding("UTF-8");
  6.  
  7. // Preberemo naš iskalni niz in vrnemo rezultate
  8. $query = Zend_Search_Lucene_Search_QueryParser::parse($q, "UTF-8")//wildcard search
  9. $hits = $this->getIndex()->find($query);

Tako ne bi smelo več prihajati do napak kot je tale:

PHP:
  1. Notice: iconv() [function.iconv]: Detected an illegal character in input string in C:Inetpubwwwrootseptoletephp-includeZendSearchLuceneAnalysisAnalyzerCommonText.php on line 56

Iskanje po Kitajskih/Japonskih vsebinah:

V primeru, da iščete po vsebina, ki so v Kitajskem jeziku morate uporabiti drug Zend Analayzer. Datoteka priložena.

Deli s skupnostjo:

  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks

Podobni članki:

  1. PHP – Zen Cart – Easy Populate – UTF8 podpora – UTF8 support
  2. Stalni UTF-8 problemi – utf8 mysql php – čšž šumniki težave – iskanje znaki – mysql like
  3. PHP – Konvertiranje datotek CP1250, UTF-8 – iconv
  4. PHP – pretvori prvo črko v veliko črko – UTF8 podpora (ucfirst, ucwords, mb_convert_case)
  5. Šumniki – UTF-8 – Težave – PHP & MySQL
  6. ZEND PHP certifikat diploma – primeri testa
  7. PHP – delo z UTF-8 stringi oz. podatki – težave s šumniki (č,š,ž)
  8. Postal Zend Certified Engineer (ZCE)
  9. Konverzija CP1250, ISO-8859-1 baze v UTF-8 – šumniki UTF-8 – cp1250 to utf8
  10. Zen Cart – UTF-8 podpora – pretvorba

Dodaj komentar