在dplyr生成的Sql-查询中编码存在问题。我可以查询数据库(与odbc连接的Oracle),它返回挪威的特殊字符,但我不能在dplyr查询中使用这些字符。此筛选器返回一个没有数据的tibble:
t_stat_mdl %>%
filter(KAAK == "D - Lærling ")额外的空白实际上是有意的,这就是它存储在数据库中的方式。
如果我将dplyr管道包装在dplyr::explain()中,就会得到以下消息:
<SQL>
SELECT *
FROM ("T_STAT_MEDLEMMER_GRUNNLAG")
WHERE ("KAAK" = 'D - Lærling ')
Error: <SQL> 'EXPLAIN SELECT *
FROM ("T_STAT_MEDLEMMER_GRUNNLAG")
WHERE ("KAAK" = 'D - Lærling ')'
nanodbc/nanodbc.cpp:1587: HY000: [Oracle][ODBC][Ora]ORA-00905: nøkkelord mangler所以在编码中发生了一些变化
拉林
至
圣保罗
当dplyr写入SQL-查询时。知道如何确保dplyr在生成查询时使用正确的编码吗?
发布于 2020-10-08 22:52:36
通过在开始时运行这一行,可以将脚本设置为正确的编码:
eval(parse(filename, encoding= "x-IA5-Norwegian"))否则,您可以将此编码设置为"File“,然后选择”用编码重新打开“,选中复选框”显示所有编码“,然后选择”x-IA5-挪威“。
https://stackoverflow.com/questions/50716783
复制相似问题