最终的解决办法直接看 4

我的思路:

我用的都是utf-8编码,电脑系统win7, MySQL-Front进行数据库的可视化。

1、我用的是RStudio,先去设置R的默认编码:

Tools→Global Options...→Code→Saving→如下

虽然设置了R的默认编码,但是问题仍然存在。

2、用dbSendQuery(con, "SET NAMES utf8"),  依旧是乱码

  1. library("RMySQL");
  2. con<-dbConnect(MySQL(), user="", password="", dbname=""); #打开连接
  3. dbSendQuery(con, "SET NAMES utf8"); #说明用什么字符集来获取数据库字段
  4. query<-dbSendQuery(con, "select * from table1 ");
  5. result<-fetch(query);

3、既然是从MySQL中读取数据,那就看看是不是MySQL中的编码设置不统一。

方法一 : 参考MySQL字符集专题(字符集,校对,乱码) 该文章的2.3  2.4   4.2

  1. #查看当前数据库字符集
  2. show variables like 'character%';
  3. #查看当前数据库字符集校对
  4. show variables like 'collation%';
  5.  
  6. 我的结果:

  1.  

可以看到其中的很多编码都是不统一的,用如下方法设置:

或者是方法二

方法二:mysql 更改数据库字符编码的方法  百度经验

  1. 通过MySQL命令行修改:(编码可选)
  2.  
  3. mysql> set character_set_client=utf8;
  4.  
  5. mysql> set character_set_connection=utf8;
  6.  
  7. mysql> set character_set_database=utf8;
  8.  
  9. mysql> set character_set_results=utf8;
  10.  
  11. mysql> set character_set_server=utf8;
  12.  
  13. mysql> set character_set_system=utf8;
  14.  
  15. mysql> set collation_connection=utf8;
  16.  
  17. mysql> set collation_database=utf8;
  18.  
  19. mysql> set collation_server=utf8;

设置后我的MySQL-Front编辑器中输出的结果仍然未变,我就用了,如下的方法三,成功把编码都改为utf8。

方法三: 在MySQL-Front编辑器输入如下,进行运行。

  1. set character_set_client='utf8';
  2. set character_set_connection='utf8';
  3. set character_set_results='utf8';
  4. set character_set_server='utf8';
  5.  
  6. set collation_connection='utf8_unicode_ci';
    set collation_server='utf8_unicode_ci'; 

4、经过3将MySQL中的编码设置一致,但是问题依然没有解决,无意间将  dbSendQuery(con, "SET NAMES gbk") 设为gbk,乱码问题解决。

  1. library("RMySQL");
  2. con<-dbConnect(MySQL(), user="", password="", dbname=""); #打开连接
  3. dbSendQuery(con, "SET NAMES gbk"); #说明用什么字符集来获取数据库字段
  4. query<-dbSendQuery(con, "select * from table1 ");
  5. result<-fetch(query);

为什么会是这样?  参考 求解 r链接mysql 查询结果出现 乱码 ,如何更改r字符编码?

R的字符编码使用的gbk,所以读取时的数据需要设定为gbk,数据库 ,工作环境,本地 需要保持一致。

其他参考:

R读取MySQL数据出现乱码,解决该问题的方法总结的更多相关文章

  1. [转]mysql导入导出数据中文乱码解决方法小结

    本文章总结了mysql导入导出数据中文乱码解决方法,出现中文乱码一般情况是导入导入时编码的设置问题,我们只要把编码调整一致即可解决此方法,下面是搜索到的一些方法总结,方便需要的朋友. linux系统中 ...

  2. PHP file_get_contents函数读取远程数据超时的解决方法

    PHP file_get_contents函数读取远程数据超时的解决方法 投稿:junjie 字体:[增加 减小] 类型:转载   这篇文章主要介绍了PHP file_get_contents函数读取 ...

  3. Spark使用Java读取mysql数据和保存数据到mysql

    原文引自:http://blog.csdn.net/fengzhimohan/article/details/78471952 项目应用需要利用Spark读取mysql数据进行数据分析,然后将分析结果 ...

  4. mysql导入导出数据中文乱码解决方法小结

    linux系统中 linux默认的是utf8编码,而windows是gbk编码,所以会出现上面的乱码问题. 解决mysql导入导出数据乱码问题 首先要做的是要确定你导出数据的编码格式,使用mysqld ...

  5. mysql导入导出数据中文乱码解决方法小结(1、navicat导入问题已解决,创建连接后修改连接属性,选择高级->将使用Mysql字符集复选框去掉,下拉框选择GBK->导入sql文件OK;2、phpmyadmin显示乱码的问题也解决,两步:1.将sql文件以utf8的字符集编码另存,2.将文件中sql语句中的字段字符集编码改成utf8,导入OK)

    当向 MySQL 数据库插入一条带有中文的数据形如 insert into employee values(null,'张三','female','1995-10-08','2015-11-12',' ...

  6. 关于C#读取MySql数据时,返回DataTable中某字段数据是System.Array[]形式

    我在使用C#(VS2008)读取MySql数据库(5.1版本)时,返回的DataTable数据中arrivalDate字段数据显示为System.Array[]形式(程序中没有对返回的数据进行任何加工 ...

  7. Python读取JSON数据,并解决字符集不匹配问题

    今天来谈一谈Python解析JSON数据,并写入到本地文件的一个小例子. – 思路如下 从一个返回JSON天气数据的网站获取到目标JSON数据串 使用Python解析出需要的部分 写入到本地文件,供其 ...

  8. Django读取Mysql数据并显示在前端

    一.首先按添加网页的步骤添加网页,我的网页名为table.html, app名为web table.html放到相应目录下, froms文件提前写好 修改views.py ? 1 2 3 4 5 6 ...

  9. arcgis for android 读取shp文件中文乱码解决方法

    设置注册表默认字符,即可解决中文乱码问题. 'dbfDefault' 设置方法1.开始--运行,输入”Regedit“,打开注册表.2.如是用的是 10.x 版本 ArcGIS Desktop,定位到 ...

随机推荐

  1. V9发布内容时保留框架<iframe></iframe>

    有些时候,发布文章内容的时候需要用到<iframe></iframe>框架站外内容最近在发布内容时就遇到这个问题,<iframe></iframe>给转 ...

  2. 自动安装lnmp

    注:需先上传各安装包至服务器.#!/bin/bash #! auto install lnmp #! 安装依赖环境 yum -y groupinstall "X Software Devel ...

  3. 如何编写一个带命令行参数的Python文件

    看到别人执行一个带命令行参数的python文件,瞬间觉得高大上起来.牛逼起来,那么如何编写一个带命令行参数的python脚本呢?不用紧张,下面将简单易懂地让你学会如何让自己的python脚本,支持带命 ...

  4. ES6中的export以及import的使用多样性

    模块功能主要由两个命令构成:export和import.export命令用于规定模块的对外接口,import命令用于输入其他模块提供的功能. 一.export导出模块使用部分的几种方式 一个模块就是一 ...

  5. 数独小算法,测试通过(Java)

    class SudokuMatrix { private int[][] matrix = new int[][] { {0, 5, 0, 6, 0, 1, 0, 0, 0}, {0, 0, 7, 0 ...

  6. Kafka 客户端实现逻辑分析

    这里主要分析kafka 客户端实现 (代码分析以perl kafka实现为准) kafka客户端分为生产者和消费者,生产者发送消息,消费者获取消息. 在kafka协议里客户端通信中用到的最多的四个协议 ...

  7. Mathematica 10 Mac 设置默认工作目录

    用SetDirectory命令设置  

  8. 读RCNN论文笔记

    1. RCNN的模型(如下图)描述: RCNN相比传统的物体检测,还是引入传统的物体检测的基本流程,先找出候选目标物体,逐个的提取特征,不过rbg大神引入了当时炙手可热的CNN卷积网络取代传统上的HO ...

  9. angularLoad(用以异步加载js文件)

    angularLoad(用以异步加载js文件) 使用方法: 1.执行命令 下载 lib npm install angular-load --save 2.index.html引用js <scr ...

  10. QQ信鸽推送

    闲来无事,看看腾讯的信鸽推送! 优点: 1.毕竟大腿出的东西,不会太差 2.集成快 3.推送效率高,功能强,APP后台被杀的情况下同样能接受到推送. 废话少说,直接上代码: 源代码.zip