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
  • Вопрос задан
  • 288 просмотров
Решения вопроса 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 ()
);


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

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

Похожие вопросы