Проблемы с запуском скрипта, как хрон

У меня есть скрипт ruby, который я хочу запустить как cron.Он отлично работает, когда я запускаю командную строку на машине linux. Но когда я запускаю тот же скрипт с помощью cron это не удается.

Я получаю следующую ошибку с кодировкой строки. Не знаю, почему он только жалуется, когда я работаю в качестве cron работы. Я также установил свою оболочку в /bin / bash в crontab, которая является такой же оболочкой, как и моя командная строка.

ошибка, которую я получаю

в `encode': "xE2 " на US-ASCII (кодировка:: InvalidByteSequenceError)

строка кода, которая вызывает ошибку

split.encode('utf-8).split(some_str)
24
задан konquestor
06.12.2022 20:30 Количество просмотров материала 2481
Распечатать страницу

1 ответ

сообщение об ошибке говорит вам, что вы установили, в crontab окружение, US-ASCII как ваш язык, и что в таком языке строка "\xE2 " не существует. Скорее всего, это связано с тем, что строка кодируется ASCII-8bit, в то время как вам нужно преобразовать ее в UTF-8.

возможно, что строка была загрязнена каким-то невидимым символом, как это часто бывает, когда вы делаете вырезание и вставку.

следующее, быть приложенным до манипулирование строку, должны решить вашу проблему:

  new_str = some_str.encode('utf-8', 'binary', :invalid => :replace, :undef => :replace, :replace => '')
0
отвечен MariusMatutiae 2022-12-08 04:18

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх