gpt4 book ai didi

r - 如何将 dplyr::tbl 连接编码更改为 utf8?

转载 作者:行者123 更新时间:2023-12-02 06:15:39 26 4
gpt4 key购买 nike

在 MySQL 数据库中,表采用 utf8 编码,但由于某种原因连接采用 latin1。

res <- RMySQL::dbSendQuery(con,"show variables like 'character_set_%'")
dbFetch(res)
Variable_name Value
1 character_set_client latin1
2 character_set_connection latin1
3 character_set_database utf8mb4
4 character_set_filesystem binary
5 character_set_results latin1
6 character_set_server latin1
7 character_set_system utf8
8 character_sets_dir /usr/share/mysql/charsets/

This page explain how to set the connection's character set to utf8 using RMySQL .

RMySQL::dbGetQuery(con,"show variables like 'character_set_%'")
RMySQL::dbGetQuery(con,"set names utf8")

但我实际上更喜欢使用dplyr::tbl来查询数据库。由于dplyr::src_mysql创建的连接只能发送创建表的sql语句。将连接设置设置为使用 utf8 编码的 dplyr 方法是什么?

最佳答案

我遇到了同样的问题,我解决如下:

foo_db <- src_mysql(host='0.0.0.0',user='dbuser',password='a_password',
dbname='FlightTimes',port=3336)
dbGetQuery(foo_db$con,'SET NAMES utf8')

我发现这是可能的,通过str(foo_db)查看foo_db的结构,看到类有一个con属性MySQLConnection,然后应用您的dbGetQuery咒语。

关于r - 如何将 dplyr::tbl 连接编码更改为 utf8?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30932708/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com