特殊字符转换为 ?使用 R 插入 Oracle 数据库时



我正在使用 ROracle 包和 DBI 包连接到 oracle 数据库。 当我尝试执行具有特殊字符的插入语句时,特殊字符将转换为非特殊字符。(我敢肯定,我不知道"特殊"和"非特殊"还有更正确的术语(。

首先,我建立以下连接:

connection <- dbConnect(
dbDriver("Oracle"),
username = "xxxxx",
password = "xxxxx",
dbname = "xxxx"
)

然后,我在已经创建的表上执行以下插入语句。 列 A 具有 nvarchar2 类型。

dbSendQuery(connection, "insert into TEST_TABLE (A) values('£')")

这是返回的内容:

Statement:            insert into TEST_TABLE (A) values('#') 
Rows affected:        1 
Row count:            0 
Select statement:     FALSE 
Statement completed:  TRUE 
OCI prefetch:         FALSE 
Bulk read:            1000 
Bulk write:           1000 

如您所见,"£"符号被替换为"#"。 我可以直接在 PL/SQL 中执行插入语句,没有问题,所以这似乎是 R 的问题。 任何帮助,不胜感激。

此问题已在创建连接之前运行Sys.setenv(NLS_LANG = "AMERICAN_AMERICA.AL32UTF8")来解决。

相关内容

  • 没有找到相关文章

最新更新