LINUX.ORG.RU

[ubuntu-server][django][r-project]Проблемы с кодировкой при запуске R скрипта из Django


0

0

R скрипт считает статистику и генерирует графики. Если запускать его из консоли от любого пользователя (в том числе, www-data) и из разных оболочек (bash,sh) никаких проблем, если скрипт запускается из джанговского views.py os.system, не отображается русские символы, только символы из ASCII.

На графике вместо русских подписей точки. Подписи прописываются в R примерно так: title <- sprintf(«Дата: %d.%d.%d, Время: %d h, %d m, Период: %d ч», day, month, year, hours, minutes, period)). Выполнение ситемной команды по изменению кодировки файла (system(«iconv -f cp866 -t utf8 Lelop.dat -o Lelop.dat»)) приводит к тому, что файл получается таким:

<U+041A><U+041E><U+041E><U+0420><U+0414><U+0418><U+041D><U+0410><U+0422><U+042B>: <U+0428><U+0438><U+0440><U+043E><U+0442><U+0430> - 71 54.00; <U+0414><U+043E><U+043B><U+0433><U+043E><U+0442><U+0430> - 55 27.00

вместо такого:

КООРДИНАТЫ: Широта - 71 54.00; Долгота - 55 27.00

В общем при запуске из джанго R отказывается работать с utf. При этом нет никаких проблем с запуском sh скриптов. Если проблему iconv обойти не сложно, то с подписями никак не обойти, т.к. нужен универсальный скрипт для веб и дестоп версий

Ответ на: комментарий от dimon555

dimon555, большое спасибо. Перед запуском скрипта вызвал export LANG=ru_RU.utf8 и все заработало

alexkarta ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.