特殊字符转换为?使用R插入Oracle数据库时
我正在使用ROracle包和DBI包连接到oracle数据库。当我尝试执行具有特殊字符的insert语句时,特殊字符会转换为非特殊字符。(我确信“特殊”和“非特殊”还有更多我不知道的正确术语) 首先,我进行以下连接:特殊字符转换为?使用R插入Oracle数据库时,r,dbi,roracle,R,Dbi,Roracle,我正在使用ROracle包和DBI包连接到oracle数据库。当我尝试执行具有特殊字符的insert语句时,特殊字符会转换为非特殊字符。(我确信“特殊”和“非特殊”还有更多我不知道的正确术语) 首先,我进行以下连接: connection <- dbConnect( dbDriver("Oracle"), username = "xxxxx", password = "xxxxx", dbname = "xxxx" ) 这就是返回的内容: Statement:
connection <- dbConnect(
dbDriver("Oracle"),
username = "xxxxx",
password = "xxxxx",
dbname = "xxxx"
)
这就是返回的内容:
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中直接执行insert语句,没有问题,因此R似乎有问题。非常感谢您的帮助。这是通过在创建连接之前运行Sys.setenv(NLS_LANG=“AMERICAN_AMERICA.AL32UTF8”)解决的
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