sequel never returns utf-8, just ascii-8bit

encoding, mysql, ruby, sequel, utf-8

Solution

Try `Sequel.mysql2` instead of `Sequel.mysql`. `Sequel.mysql` uses the old `mysql` driver instead of the new `mysql2` driver, and I don't believe the `mysql` driver supports encodings.

Problem

There is this mysql database I'm trying to connect to. DataMapper fetches everything nicely in UTF-8 but Sequel always returns strings in ASCII-8bit which produces errors with .to_json. I have tried several things in order to get it to work. ``` Encoding.default_external = Encoding::UTF_8 Encoding.default_internal = Encoding::UTF_8 DB.run 'set names utf8' Sequel.mysql 'db', (...), :encoding => 'utf-8' ``` I have gems: mysql (2.9.0) (tried without), mysql2 (0.3.11) and sequel (3.42.0) The only thing that works is manually forcing the encoding on every string which is MUCH less than ideal.

Original source