in reply to Dump data from unicode database

I am using dbix::dump data from database Which is in utf-8. ... Is there any way i can dump data in proper format.

DBIx::Dump appears to pre-date most of the unicode support in Perl. I would avoid it for such tasks. Here is an SSCCE which avoids it. Feel free to tweak for your own database engine.

use strict; use warnings; use DBI; use Encode qw/find_encoding/; use Text::CSV qw/csv/; use Test::More tests => 2; my $enc = find_encoding ("UTF-8") or die 'Cannot set encoding'; my $str = "\N{ETHIOPIC SYLLABLE QAA}"; my $dbh = DBI->connect ("dbi:mysql:test", 'nobody') or die "No db"; $dbh->do ('DROP TABLE IF EXISTS stuff'); $dbh->do ('CREATE TABLE stuff ( yada varchar(255) charset utf8 );'); $dbh->do ('INSERT INTO stuff VALUES (?)', undef, $enc->encode ($str)); # Read it back from the DB my @fromdb; my $sth = $dbh->prepare ('SELECT yada FROM stuff'); $sth->execute; while (my $r = $sth->fetchrow_arrayref) { $_ = $enc->decode ($_) for @$r; push @fromdb, $r; } is $fromdb[0]->[0], $str, 'Back from DB'; # Write it out to a file csv (in => \@fromdb, out => 'outfoo.csv', encoding => 'utf-8' ); # Check the contents of the file my $fromfile = csv (in => 'outfoo.csv', encoding => 'utf-8'); is $fromfile->[0][0], $str, 'Back from file';

🦛