使用 RMySQL 的 UTF8 编码

2024-03-08

我正在尝试从 mysql 数据库查询数据,当然,其中包含一些字符串。对于连接和数据检索,我在 R 中使用 RMySQL,效果很好。除了一件事:我正在检索的字符串似乎不是 utf8 格式的。但我需要这个,因为这些字符串中有一些德语“Umlaute”。 当我问数据库时,它的编码是

dbGetQuery(db, "SHOW VARIABLES LIKE 'character_set_%';")

我得到了想要的答案:

             Variable_name           Value
1   character_set_client             utf8
2   character_set_connection         utf8
3   character_set_database           utf8
4   character_set_filesystem         binary
5    character_set_results           utf8
6     character_set_server           utf8
7     character_set_system           utf8
8       character_sets_dir C:\\Program Files\\MySQL\\MySQL Server 5.7\\share\\charsets\\

但例如我收到

Andreas Wünsche

代替

Andreas Wünsche

希望有人知道如何处理。如果需要更多信息,请询问。我可以提供。


我发现有些棘手但对我有用:

您必须手动将数据框的 col 定义为 utf-8,如下所示:

x <- "Wünsche"
Encoding(x) <- "UTF-8"
x
[1] "Wünsche"

认为你必须对所有字符串向量执行此操作

EDIT :

看一看here https://stackoverflow.com/questions/25634734/displaying-japanese-characters-retrieved-from-mysql-in-r
似乎通过添加解决了同样的问题'set character set "utf8"'在 - 的里面dbSendQuery()

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 RMySQL 的 UTF8 编码 的相关文章

随机推荐