我的电脑是从美国进口的,系统是纯英文版的。我经过了一系列设置,终于使数据本身是中文而不在是乱码了,但表头除外,因此对于如何使表头也为中文倍感困惑,求解答。
最开始,读不出来数据,后来,读出来了也是乱码,我进行了下列重要步骤,终于使除了表头以外的数据都正常了
1.Sys.getlocale()
Sys.setlocale(category = "LC_ALL",locale = "chinese")#最开始是english,所以存在问题
2.#建立数据库连接
mycon <- odbcConnect("mydsc",uid="root",pwd="+++", DBMSencoding="utf-8")#需要设置一下DBMSencoding
其他没发现什么问题。声明一下,我的mysql数据库的编码设置是正确的,如下:
mysql> show variables like 'character%';
+--------------------------+------------------------------------------------------+
| Variable_name | Value |
+--------------------------+------------------------------------------------------+
| character_set_client | utf8mb4 |
| character_set_connection | utf8mb4 |
| character_set_database | utf8mb4 |
| character_set_filesystem | binary |
| character_set_results | utf8mb4 |
| character_set_server | utf8mb4 |
| character_set_system | utf8 |
| character_sets_dir | C:\Program Files\mysql-8.0.22-winx64\share\charsets\ |
+--------------------------+------------------------------------------------------+
8 rows in set (0.01 sec)
现在的查询结果如附件所示