R语言在对中文的读写上是有点不友好,估计也是众多R语言使用者吐槽的点。
Rstudio连接mysql可以通过RMySQL和RODBC连接,通常对于非中文的数据读写、分析都不会出现问题,但是遇到中文的时候问题就来了。
对于R连接MySQL读取中文或者写入中文数据的时候乱码问题,这里给出的解决方案如下:
1、通过RODBC包进行读取,可以完美解决(相对来说,odbc的连接方式比RMysql更加稳定)
同时需要注意的几点:
1.1、MySQL数据库中所建立的database字符编码要与odbc环境配置中的一致(character set);
1.2、在R中连接的代码语句中同样需要设置DBMSencoding="utf-8";
1.3、需要下载与你的mysql版本匹配的odbc驱动,并进行odbc配置;
配置里面:data source name:这是你在R中连接的名称,如我下面的per
tcp/ip server:你安装的是本地的就是localhost,若是连接的远程的就是相应的名称或者地址
con<- odbcConnect("per",uid="root",pwd="xxxxxx",DBMSencoding="utf-8")
#查看数据库中的表
sqlTa