Perl DBIx sqlite {sqlite_unicode => 1}? - PullRequest
       12

Perl DBIx sqlite {sqlite_unicode => 1}?

3 голосов
/ 15 февраля 2011

При подключении к 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 Ответ

8 голосов
/ 15 февраля 2011

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

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

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

...