У меня есть таблица, называемая сегментами, хранящаяся в базе данных MySQL. Таблица заключена в кодировку UTF-8 (charset utf8, collation utf8_general_ci), а в столбце «label» содержатся строки с акцентами, такие как «Fidèles», «Arrêtés» и т. Д.Строка с акцентами в таблице MySQL, возвращаемая как NA в R (RODBC)
Я запрашиваю эту таблицу с использованием R и RODBC пакет с простым:
data = sqlQuery(channel = myodbcconnection, query = "SELECT label FROM segments")
Это приведет все строки, содержащих акценты заменяются значениями NA. Это не только замена акцентов на заполнение символов. Вся строка становится NA.
- Запуск запроса из MySQL Workbench возвращает правильные строки, так что таблица отлично
- R файлы UTF-8 кодируются, получены с UTF-8 кодировкой и т.д.
- Соединение ODBC использует MySQL ODBC Driver UNICODE
что еще weirded, что если я запускаю UPDATE в базе данных из R, с чем-то вроде:
sqlQuery(channel = myodbcconnection, query = "UPDATE segments SET label = 'Testé et approuvé' WHERE id = 70")
База данных обновляется правильно. Но если я его выберу, он вернет значение NA.
Это сводит меня с ума. ;-) Любая помощь будет принята с благодарностью.
Я попробовал все комбинации 'as.is' и' stringAsFactors' (на всякий случай), но безрезультатно. –
Я также должен добавить, что когда я создаю свое ODBC-соединение с 'odbcConnect', я указываю' DBMSencoding = "UTF-8" ' –