【发布时间】:2013-09-05 13:50:52
【问题描述】:
在数据库中,我存储了包含特殊字符(例如“§”)的字符串。 使用命令
sqlQuery()
RODBC 包中的“§”被翻译成“?”。诸如“'”之类的字符也是如此,因为它可以在法语单词中找到。
当然我不能替换每个“?”通过查询后的特殊字符之一。有人对这个问题有想法吗?我在 Windows 7 下工作。
根据要求输出sessionInfo()
R version 2.14.1 (2011-12-22)
Platform: x86_64-pc-mingw32/x64 (64-bit)
locale:
[1] LC_COLLATE=English_United States.1252 LC_CTYPE=English_United States.1252
[3] LC_MONETARY=English_United States.1252 LC_NUMERIC=C
[5] LC_TIME=English_United States.1252
attached base packages:
[1] grid stats graphics grDevices utils datasets methods base
other attached packages:
[1] timeDate_2160.97 gridExtra_0.9.1 reshape2_1.2.2 RODBC_1.3-6 ggplot2_0.9.3.1 plyr_1.8
[7] Runiversal_1.0.2
loaded via a namespace (and not attached):
[1] colorspace_1.2-1 dichromat_2.0-0 digest_0.6.3 gtable_0.1.2 labeling_0.1 MASS_7.3-21
[7] munsell_0.4 proto_0.3-10 RColorBrewer_1.0-5 scales_0.2.3 stringr_0.6.2 tools_2.14.1
【问题讨论】:
-
我认为您需要将
odbcDriverConnect()中的DBMSencoding设置为数据库编码的任何内容。我想"UTF-8"值得一开始。 -
谢谢,我试试看!
-
设置编码有什么乐趣吗?
-
我很快就会告诉你——谢谢!
-
@SimonO101 我尝试在 odbcConnect 中正确设置 DBMSencoding 我尝试过:odbcConnect(mydb, uid=myuid,pwd=mypwd,DBMSencoding="UTF-8") 但这并没有解决问题。我不知道如何使用 odbcDriverConnec,但应该传递 odbcConnect 的其他参数。
标签: r special-characters rodbc