Rstudio和MariaDB(在Windows中!)-在列中读取具有多种外语的csv文件

时间:2018-12-03 09:45:43

标签: mysql r windows csv mariadb

例如,我在列中有3种语言的csv文件。

  

类型,制作人,标题,字节,位置
  DB관리,R Foundation,R 3.5.1,82877232,서피스고
  DB관리,DB관리このページ,このページ,3423,서피스고

生产者变量具有英语(R Foundation,DB),韩语(관리)和日语(このページ)

如何在Windows上的r中正常打开?

1 个答案:

答案 0 :(得分:0)

例如,我在列中有3种语言的csv文件。

  

类型,制作人,标题,字节,位置
  DB관리,R Foundation,R 3.5.1,82877232,서피스고
  DB관리,DB관리このページ,このページ,3423,서피스고

生产者变量具有英语(R Foundation,DB),韩语(관리)和日语(このページ)


步骤1)您必须使用utf-8保存csv文件

  

Linux默认编码为utf-8。但是,Windows不会默认编码为utf-8(例如,基于EUC-KR的CP949,基于EUC-JP的CP932)

如果保存的文件为CP949或CP932类型,则文件中的韩语或日语单词已损坏。


步骤2)在MariaDB(基于MySQL)中设置字符集[utf-8,utf-8_general_ci]

  

MariaDB不默认编码为utf-8(字符集:latin1)

如果您不更改utf-8并将英语,韩语,日语单词发送给MariaDB,则值已损坏。更改为uft-8(在my.ini文件mysql / bin文件夹中) use FacebookAds\Object\AdAccount; use FacebookAds\Api; use FacebookAds\Logger\CurlLogger; $id = 'act_XXXX'; $api = Api::init($app_id, $app_secret, $access_token); $api->setLogger(new CurlLogger()); $fields = array( 'name', 'objective', ); $params = array( 'effective_status' => array('ACTIVE','PAUSED'), ); echo json_encode((new AdAccount($id))->getCampaigns( $fields, $params )->getResponse()->getContent(), JSON_PRETTY_PRINT);


步骤3)使用read_csv函数在R(或RStudio)中安装软件包“ readr”并调用库“ readr”

  

read.csv函数(在基础库上)无法正常工作。像这样
  enter image description here   
发生的错误dat1,dat2,dat3,dat4数据集
  collation_server=utf8_general_ci character_set_server=utf8

使用read_csv函数(在“阅读器”库中),正常运行。像这样
enter image description here

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");


第4步)在Rstudio(或R)中使用“ RMySQL或RMariaDB”更新数据库并检查数据库

library(readr); dat <- NULL; dat <- read_csv("list.csv");

这样的结果(来自DB的网页)
enter image description here

我希望能帮助一些在Windows系统上存在编码问题的人。

因此,Linux是用于数据库管理的良好操作系统。