[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Beagle и поиск в документах winword



В Втр, 24/02/2009 в 17:56 +0300, Victor Wagner пишет:
> On 2009.02.24 at 18:35:32 +0700, marouder wrote:
> 
> > > #!/bin/sh
> > > env > /tmp/antiword.$$.env
> > > locale charmap >> /tmp/antiword.$$.env
> > > exec antiword "$@"
> > > 
> > > и по мере индексирования смотреть в появляющиеся файлики
> > > /tmp/antiword.NNNNN.log
> > 
> > Проделал, как рекомендовали, в /tmp/antiword...есть строки
> > ...
> > LINGUAS=ru_RU.UTF-8
> > LANG=C
> ~~~~~~~~~
> Вот тут-то он и прячется. antiword, как и положено честному консольному
> приложению, скорее всего реагирует на LC_ALL, если её нет, то на
> LC_CTYPE, если её нет, то на LANG. А LINGUAS и GDB_LANG ему пофиг.
> > странно в /etc/environment задано:
> > LANG="ru_RU.UTF-8"
> 
> Это - для интерактивных логинов (и то, по-моему уже не для всех).
> А демонам оно не указ.
> 
> > и от имени пользователя $ env $LANG выдает ru_RU.UTF-8
> > Получается, что фильтр отрабатывает немного с другой локалью?
> 
> Угу. Немного. C.
> 
> > У процесса-потомка beagled меняется локаль? 
> 
> Можно посмотреть какая локаль у самого beagled. В /proc/<pid beagled>/environ
> И если там она тоже C или вообще отстутствует, попробовать её явным
> образом выставить в том скрипте, откуда он запускается.
> 
> Либо можно оставить в качестве индексилки вордовых файлов скрипт,
> выкинув оттуда сохранение логов и добавив вместо него принудительное
> выставление LANG
> 
> #!/bin/sh
> LANG=ru_RU.UTF-8 exec antiword "$@"
> 
Спасибо, добавление в /etc/environment
переменных LC_CTYPE и LC_ALL решило проблему.

С ув.,
sem@nk.nornik.ru



Reply to: