1

:)) 所以,我使用 JDBC 连接到数据库

conn <- dbConnect(drv, "jdbc:oracle:thin:...", "DJULIA", "..."
                    , DBMSEncoding='UTF-8')

在使用 SQL 查询从数据库中提取信息后,我遇到了问题,即 data.frame 中的字符未使用正确的 Encoding 进行编码,因此我编写了一个小脚本将 data.frame 中的信息保存到矩阵并相应地对其进行编码。

miau <- dbGetQuery(conn, "select * from table
where product_id = x")
  miau1 <- t(rep(0,length(miau)))
  i <-1
  while (i <= length(miau))
  {

  if(is.character(miau[,i]))
  {
    miau1[i] <- enc2utf8(miau[,i])
  }
  else
    {
      miau1[i] <- miau[,i]
    }
  i<-i+1;
  }

这工作得很好,我只是不明白:为什么 data.frame 中的字符没有以正确的格式显示?以下是它在 data.frame 中的外观示例:

CLIENT_ID PRODUCT_ID BRAND               SEASON           NAME        NAME_EN 
1         1   56527401 oodji Îñåíü-çèìà 2013/2014 Êóðòêà êîæàíàÿ Êóðòêà êîæàíàÿ

并作为矩阵

     [,1] [,2]       [,3]    [,4]                   [,5]             [,6]
[1,] "1"  "56527401" "oodji" "Осень-зима 2013/2014" "Куртка кожаная" "Куртка кожаная" 
4

0 回答 0