[问题] Rmysql汇入中文会乱码

楼主: defvocal (?)   2017-07-20 17:09:54
[问题类型]: 想透过Rmysql将资料汇入mysql,但中文字会变成乱码。
[软件熟悉度]:
使用者
[问题叙述]:
透过Rmysql连结mysql,写入中文或非英数字串,会变成乱码,
试过一些网络上的解法,但好像没有办法改变...
且网络上的资源英文居多,但英文就比较不容易发生这种问题。
直接在用phpmyadmin读写mysql的中英文都正常。
环境是windows 10 64位元
R 3.3.2 。
麻烦高手赐教...谢谢!
[程式范例]:
library(DBI)
library(RMySQL)
library(dplyr)
con <- dbConnect(MySQL(), user="root", password="test", dbname="test",
host="localhost")
> dbSendQuery(con,"SET NAMES utf8")
<MySQLResult:0,0,13>
> df <- data.frame(aa = enc2utf8("台北"), bb = enc2utf8("台中")
, cc=enc2utf8("ののののの") , dd="FF" ,ee="GG")
> dbWriteTable(con, name = "new10", value = df, overwrite = FALSE,
row.names = FALSE, append = T, fileEncoding="UTF-8")
[1] TRUE
> dbReadTable(con, 'new10')
aa bb cc dd ee
1 睑x睑_ 睑x瞻瞻 <U+306E><U+306E><U+306E><U+306E><U+306E> FF GG
## 如上,写入的中文跟日文都变成乱码了..
## 附上一些其他资讯如下:
> dbGetQuery(con,"show variables like 'character_set_%'")
Variable_name Value
1 character_set_client utf8
2 character_set_connection utf8
3 character_set_databas latin1
4 character_set_filesystem binary
5 character_set_results utf8
6 character_set_server utf8
7 character_set_system utf8
8 character_sets_dir C:\\Bitnami\\wampstack-5.6.30-1\\mysql\\share\\charsets\\
[环境叙述]:
> sessionInfo()
R version 3.3.2 (2016-10-31)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows >= 8 x64 (build 9200)
locale: [1] LC_COLLATE=Chinese (Traditional)_Taiwan.950
LC_CTYPE=Chinese (Traditional)_Taiwan.950
[3] LC_MONETARY=Chinese (Traditional)_Taiwan.950 LC_NUMERIC=C [5] LC_TIME=Chinese (Traditional)_Taiwan.950 attached base packages: [1] stats graphics grDevices utils datasets methods base other attached packages: [1]
RMySQL_0.10.11 DBI_0.5-1
loaded via a namespace (and not attached): [1] tools_3.3.2
[关键字]: Rmysql mysql

Links booklink

Contact Us: admin [ a t ] ucptt.com