Naprawiłem ten sam błąd, po prostu dodając zestaw znaków do ciągu połączenia:
Server=myServer;Port=3306;Database=myDB15;User ID=usr33;Password=usr33P;CharSet=utf8;
W moim przypadku używam MySql Connector dla .Net w wersji 6.9.3. aby połączyć się z 30 równymi bazami danych o tej samej strukturze, tym samym sortowaniu (utf8_unicode_ci ) i inną zawartość tabeli.
Kiedy uruchomiłem MySqlCommand.ExecuteReader() metoda wybierania treści od użytkownika tabela, w niektórych bazach (4 z 30) wystąpił ten sam błąd Podany klucz nie był obecny w słowniku .