无法使用Rstudio在控制台中正确编码中文

时间:2015-06-23 04:48:40

标签: mysql r encoding rstudio rodbc

我正在使用RODBCmysql与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)显示包含,中文显示正确。

enter image description here

然而,当我使用ttt[,2]尝试在控制台中显示第二列时,它变成了这样:

enter image description here

非常感谢任何帮助。

第一列是中文,第二列是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

1 个答案:

答案 0 :(得分:1)

950似乎是Big5。例如

CONVERT(BINARY('大里站') USING big5) --> 憭折 

同意你的一个转储。

因此...

SET NAMES big5;

(或者你从Rstudio指定CHARACTER SET到MySQL)

或将LC值更改为utf8。