Форум сайта python.su
Возникла проблема при переезде сайта с виндовс сервера на freebsd. На сайте напрочь отвалился поиск. На виндовс работает, на фрибзд выкидывает ошибку. Причем посмотрел внутрь зоп лексикон и словарь на сайте русский язык не видят, сам сайт весь на cp1251, а в поиск как я понимаю идет строчка переделанная в utf-8. Вот где зоп подхватывает кодировку utf-8 непонятно
2011-12-26T14:50:21 ERROR Zope.SiteErrorLog 1324900221.390.38477553301
Traceback (innermost last):
Module ZPublisher.Publish, line 119, in publish
Module ZPublisher.mapply, line 88, in mapply
Module ZPublisher.Publish, line 42, in call_object
Module Shared.DC.Scripts.Bindings, line 313, in __call__
Module Shared.DC.Scripts.Bindings, line 350, in _bindAndExec
Module Products.PythonScripts.PythonScript, line 328, in _exec
Module None, line 250, in index_html
- <PythonScript at /efremov/index_html used for /efremov/pages/search>
- Line 250
Module Shared.DC.Scripts.Bindings, line 313, in __call__
Module Shared.DC.Scripts.Bindings, line 350, in _bindAndExec
Module Products.PythonScripts.PythonScript, line 328, in _exec
Module None, line 20, in form_master
- <PythonScript at /efremov/pages/search/form_master>
- Line 20
Module Products.ZCatalog.ZCatalog, line 663, in searchResults
Module Products.ZCatalog.Catalog, line 738, in searchResults
Module Products.ZCatalog.Catalog, line 477, in search
Module Products.ZCTextIndex.ZCTextIndex, line 222, in _apply_index
Module Products.ZCTextIndex.QueryParser, line 126, in parseQuery
ParseError: Query contains only common words: '\xef\xe8\xf2\xee\xed'
Офлайн
Посмотрите файл site.py в папке с либами питона, которым запускаете прект (напр. в Ubuntu это /usr/lib/python2.6/site.py). Там есть такое место
def setencoding():$
"""Set the string encoding used by the Unicode implementation. The$
default is 'ascii', but if you're willing to experiment, you can$
change this."""$
encoding = "ascii" # Default value set by _PyUnicode_Init()
# -*- coding: cp1251
Отредактировано (Дек. 29, 2011 11:05:18)
Офлайн
Попробовал не помогло нашел в зоп настройку инпут и отпут кодировки в etc тоже не помогло поставил 2.11.4 не помогло почемуто сам лексикон даже не индексирует русский в cp1251
Офлайн
проблема как почитал в ZCatalog
нашел решения под древний zope 2.6
http://hghltd.yandex.net/yandbtm?fmode=inject&url=http%3A%2F%2Fzopyrus.itconnection.ru%2Fpipermail%2Fzopyrus%2F2002-November%2F066776.html&text=z2.py&l10n=ru&mime=html&sign=497eae494f46abebe80d508447997fed&keyno=0
http://hghltd.yandex.net/yandbtm?fmode=inject&url=http%3A%2F%2Fzopyrus.itconnection.ru%2Fpipermail%2Fzopyrus%2F2002-November%2F066767.html&text=zcatalog%20cp1251&l10n=ru&mime=html&sign=4a33914e83867fdaf04190ccc9d01315&keyno=0
осталось найти адаптацию под 2.10 или 2.11
Офлайн
вопрос решился в инстансе в zope.conf в разделе locale прописываешь локаль только не поверхностно как в примере а полностью LC_ALL=ru_RU.СP1251 или locale LC_ALL=ru_RU.СP125
Офлайн