> > However, when I try to generate MARCXML output with following code the
> > Arabic characters gets corrupted:
>
> > $xml = MARC::File::XML->out( $file );
> > my $record = MARC::Record->new();
> > ...
> > $xml->write( $record );
> > ...
> > $xml->close();
>
> > I've tried setting the encoding in various ways without success, e.g.:
> > => use MARC::File::XML ( BinaryEncoding => 'utf8', RecordFormat =>
> > 'USMARC'
>
> What is the value of you records leader position 9? If you have anything
> else than 'a', MARC::File::XML->write method will transcode your biblio
> records from marc8 to utf8 encoding. That's bad if your records are
> already UTF-8 encoded.
>
> You can try forcing your records 9 position before writing them:
>
>  my $leader = $record->leader;
>  substr($leader, 9, 1, 'a');
>  $record->leader( $leader );
>

I had already hard-coded the position 9 in Leader as 'a' in all records.
Little strange that  MARC:File:USMARC and MARC:File:XML treat the same data
(rather same MARC::Record object) differently.


Saiful Amin
+91-9343826438

Reply via email to