I\'m stuck trying to fetch UTF-8 text in a MySQL database from R. I\'m running R on OS X (tried both via the GUI and command line), where the default locale is en_US.UTF-8,
Thanks to @chooban I found out the connection session was using latin1 instead of utf8. Here are two solutions I found:
SET NAMES utf8
to change the connection character set.CharSet=utf8
in the DSN string. I was not able to run SET NAMES
via ODBC.This question pointed me in the right direction.
Here's something to try at least. After you've connected, run "SHOW VARIABLES LIKE 'character_set_%'" and print out the results. If nothing else it's a useful check to see if the character set options you've specified have taken.
This worked for me. Here is a full example:
con = dbConnect(drv = MySQL(), user = user, password = password,
dbname = dbname, host=host)
dbSendQuery(con, "SET NAMES utf8mb4;")
dbSendQuery(con, "SET CHARACTER SET utf8mb4;")
dbSendQuery(con, "SET character_set_connection=utf8mb4;")
dbGetQuery(con, "SELECT * FROM WHATEVER")