Как получить правильную кодировку из моей таблицы Postgre при использовании st_read из пакета sf в R - PullRequest
1 голос
/ 10 января 2020

Я хочу прочитать таблицу из моей базы данных Postgre (кодировка по умолчанию UTF8), и поскольку она на самом деле является таблицей PostGIS, я использую пакет st с st_read.

test_sf <- st_read(con, stringAsFactor = FALSE, layer = "test_df")

Выполнение команды возвращает сообщение "type is 146", где я не могу найти объяснение кода. Согласно ISO не существует геометрического типа кода 146, но это другая история.

Глядя на данные, прочитанные в test_sf, я вижу, что кодировка шрифтов работает неправильно. У меня есть строки с буквами, такими как 'ø' и c. Конкретное «ø» отображается в RStudio как «Ã¸». Пытаясь решить, что я искал кодировку определенного столбца в кадре данных:

Encoding(test_sf[["status"]])

, но результат показывает только unknown . Изменение кодировки Encoding(test_sf[["status"]]) <- "latin1" показывает кодировку latin1 для всех строк со специальными символами, но все те, где нет специальных символов, остаются с кодировкой unknown . Хуже всего то, что View(test_sf) по-прежнему показывает «Ã» вместо «ø».

Когда я смотрю на таблицу базы данных с DBeaver, кодировка шрифта правильная. Считывая данные в Python, кодировка шрифта правильная. Поскольку я хочу показать данные на графике в Shiny, я хочу использовать R.

Как я могу получить правильную кодировку шрифта моих данных?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...