Всем привет. Недавно спрашивал тут про автозапуск программки, и получил совет, "засунуть" вызов программы в /etc/rc.local
https://forum.ubuntu.ru/index.php?topic=98601.0Программа запускается и работает. Но есть проблема с кодировкой (как в логи так и по http получаю вопросики вместо кириллицы). За день дебага выяснил, что проблема есть только тогда, когда запускаю программку автозапуском (/etc/rc.local). Если же запускать эту же программу ручками, просто залогиневшись в консоли, то всё ОК - и в консоли, и в логах, и по HTTP с кириллицей всё впорядке.
В Linuxе я разбираюсь плохо, но думается мне, что после обработки /etc/rc.local, Ubuntu меняет кодировку. Хотя, могу и ошибаться...
что можно попробовать сделать с этим?
Пользователь решил продолжить мысль [time]Wed Jun 9 19:03:08 2010[/time]:
Вот тут ещё одну штуку выяснил. Если ввести в консоли locale, то в ответ получаю:
LANG=ru_RU.UTF-8
LC_CTYPE="ru_RU.UTF-8"
LC_NUMERIC="ru_RU.UTF-8"
LC_TIME="ru_RU.UTF-8"
LC_COLLATE="ru_RU.UTF-8"
LC_MONETARY="ru_RU.UTF-8"
LC_MESSAGES="ru_RU.UTF-8"
LC_PAPER="ru_RU.UTF-8"
LC_NAME="ru_RU.UTF-8"
LC_ADDRESS="ru_RU.UTF-8"
LC_TELEPHONE="ru_RU.UTF-8"
LC_MEASUREMENT="ru_RU.UTF-8"
LC_IDENTIFICATION="ru_RU.UTF-8"
LC_ALL=
Но, сделал в /etc/rc.local запуск этой команды с выводом в файл, получил вот что:
LANG=
LC_CTYPE="POSIX"
LC_NUMERIC="POSIX"
LC_TIME="POSIX"
LC_COLLATE="POSIX"
LC_MONETARY="POSIX"
LC_MESSAGES="POSIX"
LC_PAPER="POSIX"
LC_NAME="POSIX"
LC_ADDRESS="POSIX"
LC_TELEPHONE="POSIX"
LC_MEASUREMENT="POSIX"
LC_IDENTIFICATION="POSIX"
LC_ALL=
Т.е., если я правильно понял, нужная кодировка включается уже только в консоли? Можно ли как-то её изменить в rc.local до запуска программки?
Пользователь решил продолжить мысль 09 Июня 2010, 22:07:14:
Разобрался. Может кому будет полезно: в /etc/rc.local перед вызовом программы добавил строку
export LANG=ru_RU.UTF-8