我正在使用RODBC
将mysql
与R连接如下:
library(RODBC)
channel=odbcConnect("MySQL_ODBC_AIRFORECASTSYSTEM",uid="root",pwd = "3896123ray")
sql="select * from region_station"
ttt=sqlQuery(channel,query = sql)`
你可以看到我把结果放到了data.frame,“ttt”,我可以用View(ttt)
显示包含,中文显示正确。
然而,当我使用ttt[,2]
尝试在控制台中显示第二列时,它变成了这样:
非常感谢任何帮助。
第一列是中文,第二列是mysql的hex()的结果,第三列是Rstudio控制台的结果。
二林站E4BA8CE69E97E7AB99鈭\x9e\ xab \ x99
南投站E58D97E68A95E7AB99 \ xe5 \x8d\x8a\ xab \ x99
埔里站E59F94E9878CE7AB99 \ xe5 \x9f\x87\ xab \ x99
大里站E5A4A7E9878CE7AB99憭折\x87\ xab \ x99
彰化站E5BDB0E58C96E7AB99敶衔\x8c\ xab \ x99
忠明站E5BFA0E6988EE7AB99敹\x98\ xab \ x99
答案 0 :(得分:1)
950似乎是Big5。例如
CONVERT(BINARY('大里站') USING big5) --> 憭折
同意你的一个转储。
因此...
SET NAMES big5;
(或者你从Rstudio指定CHARACTER SET
到MySQL)
或将LC值更改为utf8。