perl mojolicious mango 驱动程序:utf-8 字符未正确写入 mongodb

perl mojolicious mango driver: utf-8 characters not written correctly into mongodb

任何有 mojolicious mango(https://metacpan.org/pod/Mango) 知识的人都可以告诉我如何将 utf-8 字符插入 mongodb。 或者这可能是芒果缺失的特征?

谢谢。

Mango 对 utf8 字符串没有问题。我一直在使用它们。你的问题一定在别处。

在下面的示例中,Mojo::Base 隐式导入了 utf8 编译指示,它告诉 perl 将源代码中的所有字符串都视为 utf8。此外,在将文本打印到控制台之前,我告诉 perl 在 stdout 上使用 utf8 IO 层,否则将无法正确打印。请注意,您可以改用 :raw IO 层,它也可以正常工作。

use Mojo::Base -strict;
use Mango;

sub mango { state $m = Mango->new }
sub coll  { mango->db('test')->collection('utf8') }

my $text = "utf8 is not so hard ";

my $oid = coll->insert({ text => $text });
my $doc = coll->find_one($oid);
binmode(STDOUT, ":utf8");
say $doc->{text};