Например, у меня есть CSV-файл с 3 языками в столбце.
жанр, производитель, название, байт, место
DB 관리, R Foundation, R 3.5.1,82877232,100 고
DB 관리, DB 관리 こ の ペ ジ, 23 23 ペ ー ジ, 3423, 서피스 고
Переменная источника имеет английский (R Foundation, DB), корейский (관리) и японский (こ の ペ ー ジ)
Шаг 1) Вы должны сохранить CSV-файл с utf-8
Кодировка Linux по умолчанию в utf-8.Но Windows не использует кодировку по умолчанию в utf-8 (например, CP949 на основе EUC-KR, CP932 на основе EUC-JP)
Если вы сохранили файл типа CP949 или CP932, то файлсломал корейские или японские слова.
Шаг 2) Установка набора символов [utf-8, utf-8_general_ci] в MariaDB (на основе MySQL)
MariaDB делаеткодировка по умолчанию - utf-8 (набор символов: latin1)
Если вы не измените utf-8 и не отправите английские, корейские, японские слова в MariaDB, то значения будут повреждены.перейдите на uft-8 (в папке my.ini файла mysql / bin) collation_server=utf8_general_ci
character_set_server=utf8
Шаг 3) Установите пакет "readr" в R (или RStudio) и вызовите библиотеку "readr",Использование функции read_csv
Функция read.csv (в базовой библиотеке) не работает нормально.вот так
введите описание изображения здесь
Произошла ошибка наборы данных dat1, dat2, dat3, dat4
dat1 <- NULL; dat1 <- read.table("list.csv", header=T, sep=",");
dat2 <- NULL; dat2 <- read.csv("list.csv", header=T);
dat3 <- NULL; dat3 <- read.csv("list.csv", header=T, fileEncoding="UTF-8");
dat4 <- NULL; dat4 <- read.csv("list.csv", header=T, fileEncoding="UTF-8-BOM");
Использование функции read_csv (в "readr""библиотека", нормально работает.вот так
введите описание изображения здесь
library(readr);
dat <- NULL; dat <- read_csv("list.csv");
Шаг 4) Обновление БД с использованием «RMySQL или RMariaDB» в Rstudio (или R)& Проверьте БД
library(DBI);
library(RMariaDB);
con <- dbConnect(MariaDB(), user = "****", password = "****", dbname = "****", host = "****", port = ****);
dbWriteTable(con,"****", dat, overwrite = FALSE, row.names = FALSE, append = T);
dbDisconnect(con);
результат, подобный этому (веб-страница из БД)
введите описание изображения здесь
Я надеюсь помочьнекоторые люди, у которых проблемы с кодированием в системе Windows.
Таким образом, Linux - хорошая ОС для работы с БД.