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.
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.
Encoding can be passed as do :
Sequel.connect("mysql2://user:pass@localhost/the_database?encoding=utf8")
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With