开发者

perl DBIx sqlite {sqlite_unicode=>1}?

开发者 https://www.devze.com 2023-02-10 06:50 出处:网络
If connecting to MySQL 开发者_如何学Pythonwith: my $schema = MyDatabase::Main->connect(\"dbi:mysql:database=$database;host=$host\",\'root\',\'\', {mysql_enable_utf8 => 1});

If connecting to MySQL 开发者_如何学Pythonwith:

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

The connection is forced to utf8;

Connect to SQLite:

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

The connection seems not to be in utf8;

The purpose is to eliminate having to use decode() while fetching data: from:

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

to:

$cycle->type

Thanks


What if you connect with this:

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

Maybe connect() is looking for the options hash-ref as argument four without realizing that SQLite doesn't need the username and password arguments.

0

精彩评论

暂无评论...
验证码 换一张
取 消