Ответ 1
Попробуйте Sequel.mysql2
вместо Sequel.mysql
. Sequel.mysql
использует старый mysql
драйвер вместо нового mysql2
драйвера, и я не верю, что драйвер mysql
поддерживает кодировки.
Существует база данных mysql, к которой я пытаюсь подключиться. DataMapper извлекает все хорошо в UTF-8, но Sequel всегда возвращает строки в ASCII-8 бит, который создает ошибки с .to_json.
Я попробовал несколько вещей, чтобы заставить его работать.
Encoding.default_external = Encoding::UTF_8
Encoding.default_internal = Encoding::UTF_8
DB.run 'set names utf8'
Sequel.mysql 'db', (...), :encoding => 'utf-8'
У меня есть драгоценные камни: mysql (2.9.0) (проверено без), mysql2 (0.3.11) и сиквел (3.42.0)
Единственное, что работает, - это принудительное кодирование вручную для каждой строки, которая МНОГО меньше, чем идеальная.
Попробуйте Sequel.mysql2
вместо Sequel.mysql
. Sequel.mysql
использует старый mysql
драйвер вместо нового mysql2
драйвера, и я не верю, что драйвер mysql
поддерживает кодировки.
Кодирование может быть передано как:
Sequel.connect("mysql2://user:[email protected]/the_database?encoding=utf8")