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 не нужны аргументы имени пользователя и пароля.