#!/usr/bin/perl -w use strict; use warnings; use Encode; use utf8; use BerkeleyDB; use Encode; use Data::Dumper; # Encode::_utf8_off($string); unlink "xx.db"; tie my %h, "BerkeleyDB::Btree", -Filename=>"xx.db", -Flags=>DB_CREATE; my $db=tied %h; $Data::Dumper::Useqq=1; $db->filter_fetch_key( sub { warn ">>fetch: ".Dumper($_); $_=decode("utf8", $_); warn "<filter_store_key( sub { warn ">>store: ".Dumper($_); $_=encode("utf8", $_); warn "<db_cursor(); my $value; my $status = $cursor->c_get($key, $value, DB_SET_RANGE); #### >>store: $VAR1 = "\x{e4}\x{e4}"; <>fetch: $VAR1 = "\303\244\303\244"; <>store: $VAR1 = "\x{e4}\x{e4}"; <>fetch: $VAR1 = "\x{e4}\x{e4}"; <