R mysql中文字段乱码

时间:2022-05-14 07:33:07
问题:发现R连接mysql之后,查询时中文内容不会乱码,中文字段是乱码?
具体我的操作时这样的:
连接mysql之后,先前查询是出现中文字段和中文内容都乱码的情况
中文字段乱码:
> sqlFetch(channel,'information')
  鍛樺伐缂栧彿 鍛樺伐濮撳悕        瀛﹀巻 濠氬Щ鎯呭喌  鎬у埆 鏉ヨ嚜鍗曚綅 鍙楄仒鏃ユ湡 褰撳墠鑱屼綅 浠诲懡鏃ユ湡 宸ヨ祫姘村钩 鑱旂郴鍙风爜 鑱旂郴鍦板潃
1            1         Mike        junior           n   male        baidu   2015-07-09    engineer    2015-07-10         5000     83370750     shenzhen
2            2         John  undergraduat           n   male        baidu   2015-07-08      manager   2015-07-10         5500      3380854      beijing
3            3     Lingling      graduate           y female        baidu   2015-06-09      trainer   2015-07-06         6000      3380865     shenzhen
4            4     xiaoming undergraduate           y   male        baidu   2015-02-10     engineer   2015-07-07         8000      3399495    guangzhou
5            5      xiaofan undergraduate           n   male        baidu   2015-07-15    hadooper    2015-07-07        10000      4489854     beijing 
6            6     xiaohong      graduate           y female        baidu   2015-07-07      manager   2015-07-14         8500     23454233    guangzhou
中文内容乱码
> sqlFetch(channel,'d')
    name money stype
1 灏忔槑    50     0
2 灏忔槑    50     0
3 灏忔槑    30     4
之后通过控制面板--------->管理工具------->数据源(ODBC)----->配置------>Details--------->Character  Set设置为gbk解决了中文内容乱码的问题。如下
> sqlFetch(channel,'d')
  name money stype
1 小明    50     0
2 小明    50     0
却发现中文字段乱码的问题任然存在
> sqlFetch(channel,'information')
  鍛樺伐缂栧彿 鍛樺伐濮撳悕        瀛﹀巻 濠氬Щ鎯呭喌  鎬у埆 鏉ヨ嚜鍗曚綅 鍙楄仒鏃ユ湡 褰撳墠鑱屼綅 浠诲懡鏃ユ湡 宸ヨ祫姘村钩 鑱旂郴鍙风爜 鑱旂郴鍦板潃
1            1         Mike        junior           n   male        baidu   2015-07-09    engineer    2015-07-10         5000     83370750     shenzhen
2            2         John  undergraduat           n   male        baidu   2015-07-08      manager   2015-07-10         5500      3380854      beijing
3            3     Lingling      graduate           y female        baidu   2015-06-09      trainer   2015-07-06         6000      3380865     shenzhen
4            4     xiaoming undergraduate           y   male        baidu   2015-02-10     engineer   2015-07-07         8000      3399495    guangzhou
5            5      xiaofan undergraduate           n   male        baidu   2015-07-15    hadooper    2015-07-07        10000      4489854     beijing 
6            6     xiaohong      graduate           y female        baidu   2015-07-07      manager   2015-07-14         8500     23454233    guangzhou
有遇到过相同问题或者有相关经验的请求解下,求解下,谢谢!

4 个解决方案

#1



R连接mysql这个R是什么?

如果你直接通过mysql命令行来连接mysql,可以还输入:

set names gbk;

来切换客户端的字符集为 gbk中文。

#2


R语言啊,用的是64位的RGui,有遇到过吗?

#3


在MySQL的配置文件/etc/mysql/my.cnf中[client]标签下加default-character-set=utf8

http://www.dataguru.cn/article-3547-1.html

#4



我觉得你最好修改一下R语言里的默认字符集把

#1



R连接mysql这个R是什么?

如果你直接通过mysql命令行来连接mysql,可以还输入:

set names gbk;

来切换客户端的字符集为 gbk中文。

#2


R语言啊,用的是64位的RGui,有遇到过吗?

#3


在MySQL的配置文件/etc/mysql/my.cnf中[client]标签下加default-character-set=utf8

http://www.dataguru.cn/article-3547-1.html

#4



我觉得你最好修改一下R语言里的默认字符集把