У нас есть программа R, которая фильтрует некоторые данные в таблице и создает новую таблицу с результатами. В Windows и OSX программа запускается, и наша таблица создается правильно. Однако на нашем сервере Linux (Ubuntu 12.04) та же программа R создает таблицу с мусорными данными.
Когда мы сравниваем мусорные данные, созданные в Linux, с правильными данными, мы обнаруживаем, что:
- На первый взгляд произвольные числа в столбцах, которые должны иметь текстовые значения
- Дополнительные строки
Мы думаем, что проблема связана с кодировкой, но все наши попытки изменить кодировку базы данных пока не увенчались успехом.
Наш сценарий R использует RMySQL
для подключения к базе данных MySQL, фильтрации содержимого и записи его в новую таблицу (используя команды dbReadTable
и dbWriteTable
). Мы знаем, что сами команды не являются проблемой, так как мы можем изучить data.frame до и после их фильтрации — проблема с dbWriteTable
.
Эти две ссылки кажутся наиболее близкими к решению нашей проблемы, но нам нужно дождаться прохождения запроса на включение:
- https://github.com/jeffreyhorner/RMySQL/issues/6
- https://github.com/gagern/RMySQL/commit/b0fbef105ca61d69992a2ec5a5eafde30530b8d5
И это тоже актуально: