使用RPostgreSQL的UTF-8 / Unicode文本编码

大卫·L

我在直接链接到PostgreSQL数据库的Windows计算机上运行R。我没有使用RODBC。通过以下R命令确认,我的数据库使用UTF-8编码:

dbGetQuery(con, "SHOW CLIENT_ENCODING")
#   client_encoding
# 1            UTF8

但是,当某些文本读入R时,在R中显示为奇怪的文本。

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

导出到R后,显示为:“Sté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中不会发生。

克雷格·林格

导出到R后,显示为:“Stéphane”(é编码为é)

您的R环境正在使用1字节的非组合编码,例如latin-1或Windows-1252。用Python见证此测试,证明的utf-8字节(é就像是latin-1一样被解码了)产生了您看到的文本:

>>> print u"é".encode("utf-8").decode("latin-1")
é

无论是SET client_encoding = 'windows-1252'或固定编码的[R环境使用。如果它在cmd.exe控制台中运行,则需要弄乱chcpconsole命令。否则,它特定于您的R运行时。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用UTF-8的Python Unicode编码

来自分类Dev

如何将文本文件的编码格式从Unicode更改为UTF-8

来自分类Dev

Excel:将文本导入向导的默认编码(文件来源)更改为UTF-8(65001:Unicode)

来自分类Dev

如何将文本文件的编码格式从Unicode更改为UTF-8

来自分类Dev

std :: string和UTF-8编码的unicode

来自分类Dev

UTF-8 Unicode编码和国家/地区特定字符

来自分类Dev

如何使用BeautifulSoup将UTF-8编码的HTML正确解析为Unicode字符串?

来自分类Dev

我可以使用UTF-8 / 16/32对任何Unicode符号进行编码吗?

来自分类Dev

Powershell Excel-使用编码将文件保存为Unicode UTF-8

来自分类Dev

使用RMySQL的UTF8编码

来自分类Dev

使用UTF-8编码解决BOM

来自分类Dev

Firefox中错误显示的UTF-8编码文本

来自分类Dev

R Corpus正在弄乱我的UTF-8编码文本

来自分类Dev

如何通过UTF-8编码将文本写入文件?

来自分类Dev

使用编码为Windows-1250和UTF-8的文本文件

来自分类Dev

如何使用NodeJS读取utf-8编码的大文本文件

来自分类Dev

如何使用emacs将文本编码切换回UTF-8?

来自分类Dev

使用编码为Windows-1250和UTF-8的文本文件

来自分类Dev

MySQL函数将使用Latin1编码的文本字段转换为UTF8

来自分类Dev

使用反斜杠转义符表示的UTF-8编码字符转换原始ASCII文本

来自分类Dev

过滤使用 utf-8 编码的文本以仅包含拉丁字母字符

来自分类Dev

Unicode与UTF-8

来自分类Dev

Excel使用UTF8编码与UTF8-Bom编码保存CSV文件的行为

来自分类Dev

如何在用UTF8编码的C中打印unicode字符?

来自分类Dev

如何在python中将unicode字符串编码为utf-8?

来自分类Dev

用'utf-8'编码unicode仅显示非ascii的字节字符串

来自分类Dev

JSON文件处理错误:使用UTF-8编码的文件时,JSONArray文本必须以'['开头1 [字符2行1]

来自分类Dev

如何在VBA(Excel)中使用无BOM编码的UTF-8保存文本文件(CSV)?

来自分类Dev

如何使用VBA从Word文档中将文本文件另存为UTF-8编码?

Related 相关文章

  1. 1

    使用UTF-8的Python Unicode编码

  2. 2

    如何将文本文件的编码格式从Unicode更改为UTF-8

  3. 3

    Excel:将文本导入向导的默认编码(文件来源)更改为UTF-8(65001:Unicode)

  4. 4

    如何将文本文件的编码格式从Unicode更改为UTF-8

  5. 5

    std :: string和UTF-8编码的unicode

  6. 6

    UTF-8 Unicode编码和国家/地区特定字符

  7. 7

    如何使用BeautifulSoup将UTF-8编码的HTML正确解析为Unicode字符串?

  8. 8

    我可以使用UTF-8 / 16/32对任何Unicode符号进行编码吗?

  9. 9

    Powershell Excel-使用编码将文件保存为Unicode UTF-8

  10. 10

    使用RMySQL的UTF8编码

  11. 11

    使用UTF-8编码解决BOM

  12. 12

    Firefox中错误显示的UTF-8编码文本

  13. 13

    R Corpus正在弄乱我的UTF-8编码文本

  14. 14

    如何通过UTF-8编码将文本写入文件?

  15. 15

    使用编码为Windows-1250和UTF-8的文本文件

  16. 16

    如何使用NodeJS读取utf-8编码的大文本文件

  17. 17

    如何使用emacs将文本编码切换回UTF-8?

  18. 18

    使用编码为Windows-1250和UTF-8的文本文件

  19. 19

    MySQL函数将使用Latin1编码的文本字段转换为UTF8

  20. 20

    使用反斜杠转义符表示的UTF-8编码字符转换原始ASCII文本

  21. 21

    过滤使用 utf-8 编码的文本以仅包含拉丁字母字符

  22. 22

    Unicode与UTF-8

  23. 23

    Excel使用UTF8编码与UTF8-Bom编码保存CSV文件的行为

  24. 24

    如何在用UTF8编码的C中打印unicode字符?

  25. 25

    如何在python中将unicode字符串编码为utf-8?

  26. 26

    用'utf-8'编码unicode仅显示非ascii的字节字符串

  27. 27

    JSON文件处理错误:使用UTF-8编码的文件时,JSONArray文本必须以'['开头1 [字符2行1]

  28. 28

    如何在VBA(Excel)中使用无BOM编码的UTF-8保存文本文件(CSV)?

  29. 29

    如何使用VBA从Word文档中将文本文件另存为UTF-8编码?

热门标签

归档