Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
特殊字符转换为?使用R插入Oracle数据库时_R_Dbi_Roracle - Fatal编程技术网

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

特殊字符转换为?使用R插入Oracle数据库时,r,dbi,roracle,R,Dbi,Roracle,我正在使用ROracle包和DBI包连接到oracle数据库。当我尝试执行具有特殊字符的insert语句时,特殊字符会转换为非特殊字符。(我确信“特殊”和“非特殊”还有更多我不知道的正确术语) 首先,我进行以下连接: connection <- dbConnect( dbDriver("Oracle"), username = "xxxxx", password = "xxxxx", dbname = "xxxx" ) 这就是返回的内容: Statement:

我正在使用ROracle包和DBI包连接到oracle数据库。当我尝试执行具有特殊字符的insert语句时,特殊字符会转换为非特殊字符。(我确信“特殊”和“非特殊”还有更多我不知道的正确术语)

首先,我进行以下连接:

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