4

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

ありがとう

4

1 に答える 1

9

これに接続するとどうなりますか?

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

たぶんconnect()、SQLiteがユーザー名とパスワードの引数を必要としないことに気付かずに、引数4としてオプションhash-refを探しています。

于 2011-02-15T05:40:40.397 に答える