Zend Search кодировка. Как настроить?

Если искать на кириллице, то появляется ошибка
iconv_strlen(): Detected an illegal character in input string

Файл /protected/vendor/Zend/Search/Lucene/Search/QueryLexer.php(342)
строка
342:  $strLength = iconv_strlen($inputString, $encoding);


В интернете посоветовали прописать это
Zend_Search_Lucene_Analysis_Analyzer::setDefault(
     new Zend_Search_Lucene_Analysis_Analyzer_Common_Utf8_CaseInsensitive ()
 );


Но все равно не работает. А вот на латинице нормально все.
Может сервер настроить надо, я просто вчера только развернул сервер на облаке, и возможно что-то упустил
Ubuntu 14

-----
Проверил кодировку поискового запроса
echo mb_detect_encoding($term); - UTF-8
  • Вопрос задан
  • 281 просмотр
Решения вопроса 1
27cm
@27cm
TODO: Написать статус
А смотрели, что конкретно передается в $inputString и $encoding в 342 строке?
Последнюю версию Zend_Search_Lucene используете?

<?php

// Попробуйте добавить эту строку:
Zend_Search_Lucene_Search_QueryParser::setDefaultEncoding('utf-8');

Zend_Search_Lucene_Analysis_Analyzer::setDefault(
     new Zend_Search_Lucene_Analysis_Analyzer_Common_Utf8_CaseInsensitive ()
);


Если всё это не поможет, нужно искать дальше, смотреть, как вы сам поиск осуществляете.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы