Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [symfony][zend][lucene] obsługa polskich znaków (utf-8)
michalkjp
post
Post #1





Grupa: Zarejestrowani
Postów: 182
Pomógł: 14
Dołączył: 20.09.2008

Ostrzeżenie: (0%)
-----


Nie wiem czy to rozwiązanie jest szerzej znane - nie znalazłem go podczas googlowania.

Używam lucene z zenda pod symfony w sposób przedstawiony w tutorialu jobeet - dzień 17.

Niestety przy zapytaniach zawierających polskie znaki lucene się wykrzaczało. Na sieci jest kilka rozwiązań tego problemu - poczynając od zmian w kodzie lucene (coś u mnie nie działało) przez odpowiednią konfigurację lucene z poziomu zenda (nie wiedziałem jak to zintegrować z symfony...). Niestety żadne ze znalezionych rozwiązań u mnie nie działało - dlatego przyjrzałem się temu jak jest konfigurowane lucene z poziomu propelowskiego pluginu sfLucenePlugin i tam znalazłem najlepsze działające rozwiązanie.

do funkcji rejestrującej zend'a

  1. static public function registerZend()
  2. {
  3. if (self::$zendLoaded)
  4. {
  5. return;
  6. }
  7.  
  8. set_include_path(sfConfig::get('sf_lib_dir').'/vendor'.PATH_SEPARATOR.get_include_path());
  9. require_once sfConfig::get('sf_lib_dir').'/vendor/Zend/Loader/Autoloader.php';
  10. Zend_Loader_Autoloader::getInstance();
  11. self::$zendLoaded = true;
  12. }


trzeba dodać Zend_Search_Lucene_Search_QueryParser::setDefaultEncoding('UTF-8');

  1. static public function registerZend()
  2. {
  3. if (self::$zendLoaded)
  4. {
  5. return;
  6. }
  7.  
  8. set_include_path(sfConfig::get('sf_lib_dir').'/vendor'.PATH_SEPARATOR.get_include_path());
  9. require_once sfConfig::get('sf_lib_dir').'/vendor/Zend/Loader/Autoloader.php';
  10. Zend_Loader_Autoloader::getInstance();
  11. Zend_Search_Lucene_Search_QueryParser::setDefaultEncoding('UTF-8');
  12. self::$zendLoaded = true;
  13. }


Mam nadzieję, że to rozwiązanie zaoszczędzi komuś trochę grzebania i szukania - przynajmniej mi bardziej się podoba niż czary mary z ustawianiem na sztywno kodowań w lucene (IMG:style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 25.09.2025 - 23:59