续集永远不会返回utf-8,只是ascii-8bit

red*_*dka 13 ruby mysql encoding utf-8 sequel

我正在尝试连接到这个mysql数据库.DataMapper以UTF-8很好地获取所有内容,但Sequel总是返回ASCII-8bit中的字符串,这会产生.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'  
Run Code Online (Sandbox Code Playgroud)

我有宝石:mysql(2.9.0)(试过没有),mysql2(0.3.11)和续集(3.42.0)

唯一有效的方法是手动强制对每个字符串进行编码,这个字符串不是理想的.

Jer*_*ans 21

尝试Sequel.mysql2而不是Sequel.mysql. Sequel.mysql使用旧mysql驱动程序而不是新mysql2驱动程序,我不相信mysql驱动程序支持编码.