Dzięki @chooban dowiedziałem się, że sesja połączenia używała latin1 zamiast utf8. Oto dwa rozwiązania, które znalazłem:
- Dla RMySQL, po połączeniu uruchom zapytanie
SET NAMES utf8
aby zmienić zestaw znaków połączenia. - W przypadku RODBC połącz się za pomocą
CharSet=utf8
w ciągu DSN. Nie udało mi się uruchomićSET NAMES
przez ODBC.
To pytanie wskazał mi właściwy kierunek.