linux中psql设置utf8,使用RPostgreSQL的UTF-8/Unicode文本编码

我在Windows机器上运行R,它直接链接到PostgreSQL数据库.我没有使用RODBC.我的数据库以UTF-8编码,由以下R命令确认:

dbGetQuery(con, "SHOW CLIENT_ENCODING")

# client_encoding

# 1 UTF8

但是,当一些文本被读入R时,它在R中显示为奇怪的文本.

例如,我的PostgreSQL数据库中显示以下文本:"Stéphane"

出口至R之后它表现为:"STA©PHANE"(该é被编码为é)

导入RI时,使用dbConnect命令建立连接,dbGetQuery使用SQL查询数据的命令.连接到数据库或运行查询时,我没有在任何地方指定任何文本编码.

我在网上搜索过,找不到直接解决我的问题的方法.我找到了这个链接,但他们的问题是RODBC,我没有使用.

此链接有助于识别符号,但我不只是想在R ...中查找和替换太多数据.

我确实尝试在下面运行以下命令,然后发出警告.

Sys.setlocale("LC_ALL", "en_US.UTF-8")

# [1] ""

# Warning message:

# In Sys.setlocale("LC_ALL", "en_US.UTF-8") :

# OS reports request to set locale to "en_US.UTF-8" cannot be honored

Sys.setenv(LANG="en_US.UTF-8")

Sys.setenv(LC_CTYPE="UTF-8")

警告发生在Sys.setlocale("LC_ALL", "en_US.UTF-8")命令上.我的直觉是这是Windows特定的问题,并且在Mac/Linux/Unix中不会发生.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值