@@ -, +, @@ sure that 'Check for embedded item record data?' is set to 'Yes'), then go to Home > Tools > Manage staged MARC records and click on the filename you've just staged. preview -- notice how it fails to produce any output apart from the modal heading. whole record, including the embedded item data in field 952. $ prove t $ prove xt --- C4/Biblio.pm | 2 +- C4/ImportBatch.pm | 2 +- Koha/Biblio/Metadata.pm | 2 +- Koha/BiblioUtils/Iterator.pm | 2 +- misc/batchRebuildBiblioTables.pl | 2 +- misc/migration_tools/build_oai_sets.pl | 2 +- opac/opac-readingrecord.pl | 2 +- svc/bib | 2 +- svc/import_bib | 2 +- svc/new_bib | 2 +- t/db_dependent/Koha/Z3950Responder/GenericSession.t | 8 ++++---- t/db_dependent/Koha/Z3950Responder/ZebraSession.t | 4 ++-- 12 files changed, 16 insertions(+), 16 deletions(-) --- a/C4/Biblio.pm +++ a/C4/Biblio.pm @@ -1158,7 +1158,7 @@ sub GetMarcBiblio { if ($marcxml) { $record = eval { - MARC::Record::new_from_xml( $marcxml, "utf8", + MARC::Record::new_from_xml( $marcxml, "UTF-8", C4::Context->preference('marcflavour') ); }; if ($@) { warn " problem with :$biblionumber : $@ \n$marcxml"; } --- a/C4/ImportBatch.pm +++ a/C4/ImportBatch.pm @@ -204,7 +204,7 @@ sub EmbedItemsInImportBiblio { |, { Slice => {} }, $import_record_id ); my @item_fields; for my $import_item ( @$import_items ) { - my $item_marc = MARC::Record::new_from_xml($import_item->{marcxml}); + my $item_marc = MARC::Record::new_from_xml($import_item->{marcxml}, 'UTF-8'); push @item_fields, $item_marc->field($itemtag); } $record->append_fields(@item_fields); --- a/Koha/Biblio/Metadata.pm +++ a/Koha/Biblio/Metadata.pm @@ -67,7 +67,7 @@ sub record { my $record; if ( $self->format eq 'marcxml' ) { - $record = eval { MARC::Record::new_from_xml( $self->metadata, 'utf-8', $self->schema ); }; + $record = eval { MARC::Record::new_from_xml( $self->metadata, 'UTF-8', $self->schema ); }; my $marcxml_error = $@; chomp $marcxml_error; unless ($record) { --- a/Koha/BiblioUtils/Iterator.pm +++ a/Koha/BiblioUtils/Iterator.pm @@ -95,7 +95,7 @@ sub next { return if !$row; my $marcxml = C4::Biblio::GetXmlBiblio( $row->get_column('biblionumber') ); if ( $marcxml ) { - $marc = MARC::Record->new_from_xml( $marcxml ); + $marc = MARC::Record->new_from_xml( $marcxml, 'UTF-8' ); } else { confess "No marcxml column returned in the request."; --- a/misc/batchRebuildBiblioTables.pl +++ a/misc/batchRebuildBiblioTables.pl @@ -63,7 +63,7 @@ while (my ($biblionumber, $frameworkcode) = $sth->fetchrow) { $marcxml = C4::Charset::StripNonXmlChars( $marcxml ); my $record = eval { - MARC::Record::new_from_xml($marcxml, 'utf8', $marcflavour); + MARC::Record::new_from_xml($marcxml, 'UTF-8', $marcflavour); }; if ($@) { push @errors, $biblionumber; --- a/misc/migration_tools/build_oai_sets.pl +++ a/misc/migration_tools/build_oai_sets.pl @@ -121,7 +121,7 @@ foreach my $res (@$results) { MARC::File::XML->default_record_format(C4::Context->preference('marcflavour')); my $record; eval { - $record = MARC::Record::new_from_xml($marcxml, "utf8", C4::Context->preference('marcflavour')); + $record = MARC::Record::new_from_xml($marcxml, "UTF-8", C4::Context->preference('marcflavour')); }; if($@) { warn "(biblio $biblionumber) Error while creating record from marcxml: $@"; --- a/opac/opac-readingrecord.pl +++ a/opac/opac-readingrecord.pl @@ -97,7 +97,7 @@ foreach my $issue ( @{$issues} ) { if ( $marcxml ) { $marcxml = StripNonXmlChars( $marcxml ); my $marc_rec = - MARC::Record::new_from_xml( $marcxml, 'utf8', + MARC::Record::new_from_xml( $marcxml, 'UTF-8', C4::Context->preference('marcflavour') ); $issue->{normalized_upc} = GetNormalizedUPC( $marc_rec, C4::Context->preference('marcflavour') ); } --- a/svc/bib +++ a/svc/bib @@ -90,7 +90,7 @@ sub update_bib { my $inxml = $query->param('POSTDATA'); print $query->header(-type => 'text/xml', -charset => 'utf-8'); - my $record = eval {MARC::Record::new_from_xml( $inxml, "utf8", C4::Context->preference('marcflavour'))}; + my $record = eval {MARC::Record::new_from_xml( $inxml, "UTF-8", C4::Context->preference('marcflavour'))}; my $do_not_escape = 0; if ($@) { $result->{'status'} = "failed"; --- a/svc/import_bib +++ a/svc/import_bib @@ -73,7 +73,7 @@ sub import_bib { } my $marcflavour = C4::Context->preference('marcflavour') || 'MARC21'; - my $marc_record = eval {MARC::Record::new_from_xml( $inxml, "utf8", $marcflavour)}; + my $marc_record = eval {MARC::Record::new_from_xml( $inxml, "UTF-8", $marcflavour)}; if ($@) { $result->{'status'} = "failed"; $result->{'error'} = $@; --- a/svc/new_bib +++ a/svc/new_bib @@ -54,7 +54,7 @@ sub add_bib { print $query->header(-type => 'text/xml', -charset => 'utf-8'); my $marcflavour = C4::Context->preference('marcflavour') || 'MARC21'; - my $record = eval {MARC::Record::new_from_xml( $inxml, "utf8", $marcflavour)}; + my $record = eval {MARC::Record::new_from_xml( $inxml, "UTF-8", $marcflavour)}; my $do_not_escape = 0; if ($@) { $result->{'status'} = "failed"; --- a/t/db_dependent/Koha/Z3950Responder/GenericSession.t +++ a/t/db_dependent/Koha/Z3950Responder/GenericSession.t @@ -109,11 +109,11 @@ subtest 'test_search' => sub { is($rs->size(), 2, 'Two results returned'); - my $returned1 = MARC::Record->new_from_xml($rs->record(0)->raw()); + my $returned1 = MARC::Record->new_from_xml($rs->record(0)->raw(), 'UTF-8'); ok($returned1, 'Record 1 returned as MARCXML'); is($returned1->as_xml, $marc_record_1->as_xml, 'Record 1 returned properly'); - my $returned2= MARC::Record->new_from_xml($rs->record(1)->raw()); + my $returned2= MARC::Record->new_from_xml($rs->record(1)->raw(), 'UTF-8'); ok($returned2, 'Record 2 returned as MARCXML'); is($returned2->as_xml, $marc_record_2->as_xml, 'Record 2 returned properly'); @@ -140,11 +140,11 @@ subtest 'test_search' => sub { my @records = $nodes[0]->getElementsByTagNameNS($marc_ns, 'record'); is(scalar(@records), 2, 'Two results returned'); - $returned1 = MARC::Record->new_from_xml($records[0]->toString()); + $returned1 = MARC::Record->new_from_xml($records[0]->toString(), 'UTF-8'); ok($returned1, 'Record 1 returned as MARCXML'); is($returned1->as_xml, $marc_record_1->as_xml, 'Record 1 returned properly'); - $returned2= MARC::Record->new_from_xml($records[1]->toString()); + $returned2= MARC::Record->new_from_xml($records[1]->toString(), 'UTF-8'); ok($returned2, 'Record 2 returned as MARCXML'); is($returned2->as_xml, $marc_record_2->as_xml, 'Record 2 returned properly'); --- a/t/db_dependent/Koha/Z3950Responder/ZebraSession.t +++ a/t/db_dependent/Koha/Z3950Responder/ZebraSession.t @@ -106,11 +106,11 @@ subtest 'test_search' => sub { is($rs->size(), 2, 'Two results returned'); - my $returned1 = MARC::Record->new_from_xml($rs->record(0)->raw()); + my $returned1 = MARC::Record->new_from_xml($rs->record(0)->raw(), 'UTF-8'); ok ($returned1, 'Record 1 returned as MARCXML'); is($returned1->as_xml, $marc_record_1->as_xml, 'Record 1 returned properly'); - my $returned2= MARC::Record->new_from_xml($rs->record(1)->raw()); + my $returned2= MARC::Record->new_from_xml($rs->record(1)->raw(), 'UTF-8'); ok ($returned2, 'Record 2 returned as MARCXML'); is($returned2->as_xml, $marc_record_2->as_xml, 'Record 2 returned properly'); --