Perl DBIx sqlite {sqlite_unicode=>1}?

При подключении к MySQL с помощью:

my $schema = MyDatabase::Main->connect("dbi:mysql:database=$database;host=$host",'root','', {mysql_enable_utf8 => 1});

Соединение принудительно до utf8;

Подключиться к SQLite:

my $schema = MyDatabase::Main->connect('dbi:SQLite:data/sample.db', {sqlite_unicode => 1});

Кажется, что соединение не в utf8;

Цель состоит в том, чтобы исключить необходимость использования decode() при извлечении данных: из:

Mojo::ByteStream->new($cycle->type)->decode('utf-8')

чтобы:

$cycle->type

Спасибо

1 ответ

Решение

Что если вы подключитесь к этому:

my $schema = MyDatabase::Main->connect(
    'dbi:SQLite:data/sample.db',
    '', # empty username
    '', # empty password
    {sqlite_unicode => 1}
);

Может быть connect() ищет аргументы hash-ref в качестве четвертого аргумента, не понимая, что SQLite не нужны аргументы имени пользователя и пароля.

Другие вопросы по тегам