У Mango нет проблем с utf8-строками. Я использую их все время. Ваша проблема должна лежать в другом месте.
В следующем примере Mojo::Base
неявно импортирует прагму utf8
, которая сообщает perl обрабатывать все строки в исходном коде как utf8. Кроме того, перед тем, как печатать текст на консоли, я говорю perl использовать слой ввода-вывода utf8 на stdout
, иначе он не будет печатать правильно. Обратите внимание: вместо этого вы можете использовать слой ввода-вывода :raw
, и он будет работать так же хорошо.
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};
Не могли бы вы [изменить] ваш вопрос и добавить немного более подробно? В его нынешнем виде вопрос очень расплывчатый и более подходит для открытого дискуссионного форума, чем для формата q & a, который мы здесь делаем в SO. Вы пытались вставить эти символы? Как ты это сделал? Пожалуйста, предоставьте [mcve], чтобы мы могли поиграть, чтобы помочь вам. – simbabque