Max*_*axL 5 sql-server odbc r utf-8 dbplyr
我正在使用 dbplyr 将数据从 SQL-Server 获取到 R,但中文、日文和其他非拉丁字符显示为“?”。我正在使用 Windows 机器。
\n\n我已阅读以下主题:
\n\n这些提供了一些有用的想法,但到目前为止还没有任何效果。我努力了:
\n\nencoding = \'UTF-8\'函数内设置dbConnect。字符仍然显示为问号。
encoding = \'UTF-16\'函数内设置dbConnect。R 返回错误:# Error in iconv(x[current], from = enc, to = to, ...)
使用以下命令将全局字符编码更改为 UTF-8:Sys.setenv(LANG = "UTF-8")\nandoptions(encoding = "UTF-8")
检查绘图时是否显示字符(这表明它们已正确存储)。事实并非如此。
我能够使用 RJDBC 正确显示字符,但是根据此GitHub 问题,这与 dbplyr 不兼容。
\n\n这是我的会话信息:
\n\n> sessionInfo()\n# R version 3.5.0 (2018-04-23)\n# Platform: x86_64-w64-mingw32/x64 (64-bit)\n# Running under: Windows >= 8 x64 (build 9200)\n\n# Matrix products: default\n\n# locale:\n# [1] LC_COLLATE=English_United Kingdom.1252 LC_CTYPE=English_United Kingdom.1252 LC_MONETARY=English_United Kingdom.1252 LC_NUMERIC=C \n# [5] LC_TIME=English_United Kingdom.1252\nRun Code Online (Sandbox Code Playgroud)\n\n我的代码如下所示:
\n\n> con <- dbConnect(odbc(),\n Driver = "SQL Server",\n Server = "server name",\n Database = "database name",\n user = "my username",\n password = "my password",\n encoding = "UTF-8")\nRun Code Online (Sandbox Code Playgroud)\n\nodbc/dbplyr 确实可以在 Windows 上处理这些字符类型,那么我在这里缺少什么?
\n\n任何帮助将非常感激!
\n