:)) 所以,我使用 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" "Куртка кожаная" "Куртка кожаная"