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:
-
// Kreiramo UTF-8 vnos
-
$doc = new Zend_Search_Lucene_Document();
-
$doc->addField(Zend_Search_Lucene_Field::Keyword("keyword", "keyword", "utf-8"));
-
$doc->addField(Zend_Search_Lucene_Field::Text("text", "text", "utf-8"));
-
$doc->addField(Zend_Search_Lucene_Field::UnStored("unstored", "unstored", "utf-8"));
-
-
// Vnos dodamo k indeksu
-
$index->addDocument($doc);
Nato pa morate pri iskanju defenirati Analayzer v UTF-8 načinu. Primer iskanja:
PHP:
-
// Določimo UTF8 Analyzer
-
Zend_Search_Lucene_Analysis_Analyzer::setDefault(new Zend_Search_Lucene_Analysis_Analyzer_Common_Utf8_CaseInsensitive());
-
-
// Določimo UTF8 QueryParser
-
Zend_Search_Lucene_Search_QueryParser::setDefaultEncoding("UTF-8");
-
-
// Preberemo naš iskalni niz in vrnemo rezultate
-
$query = Zend_Search_Lucene_Search_QueryParser::parse($q, "UTF-8"); //wildcard search
-
$hits = $this->getIndex()->find($query);
Tako ne bi smelo več prihajati do napak kot je tale:
PHP:
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.
Podobni članki:
- PHP – Zen Cart – Easy Populate – UTF8 podpora – UTF8 support
- Stalni UTF-8 problemi – utf8 mysql php – čšž šumniki težave – iskanje znaki – mysql like
- PHP – Konvertiranje datotek CP1250, UTF-8 – iconv
- PHP – pretvori prvo črko v veliko črko – UTF8 podpora (ucfirst, ucwords, mb_convert_case)
- Šumniki – UTF-8 – Težave – PHP & MySQL
- ZEND PHP certifikat diploma – primeri testa
- PHP – delo z UTF-8 stringi oz. podatki – težave s šumniki (č,š,ž)
- Postal Zend Certified Engineer (ZCE)
- Konverzija CP1250, ISO-8859-1 baze v UTF-8 – šumniki UTF-8 – cp1250 to utf8
- Zen Cart – UTF-8 podpora – pretvorba


