X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=C4%2FCharset.pm;h=acad92a4f4bbefa836c9114d4c3b277c6c7abfba;hb=7e694228c29a2a20829d927bbcaeba2d1f4369fb;hp=f8ddd63627fb3fb817deec662d73df8e2dab0157;hpb=18c513d45020c00c5c95284d41529038bbe307ff;p=koha_fer diff --git a/C4/Charset.pm b/C4/Charset.pm index f8ddd63627..acad92a4f4 100644 --- a/C4/Charset.pm +++ b/C4/Charset.pm @@ -22,6 +22,7 @@ use warnings; use MARC::Charset qw/marc8_to_utf8/; use Text::Iconv; +use C4::Context; use C4::Debug; use Unicode::Normalize; @@ -131,23 +132,26 @@ But since it handles charset, and MARC::Record, it finds its way in that package =cut sub SetUTF8Flag{ - my ($record, $nfd)=@_; - return unless ($record && $record->fields()); - foreach my $field ($record->fields()){ - if ($field->tag()>=10){ - my @subfields; - foreach my $subfield ($field->subfields()){ - push @subfields,($$subfield[0],NormalizeString($$subfield[1],$nfd)); - } - my $newfield=MARC::Field->new( - $field->tag(), - $field->indicator(1), - $field->indicator(2), - @subfields - ); - $field->replace_with($newfield); - } - } + my ($record, $nfd)=@_; + return unless ($record && $record->fields()); + foreach my $field ($record->fields()){ + if ($field->tag()>=10){ + my @subfields; + foreach my $subfield ($field->subfields()){ + push @subfields,($$subfield[0],NormalizeString($$subfield[1],$nfd)); + } + eval { + my $newfield=MARC::Field->new( + $field->tag(), + $field->indicator(1), + $field->indicator(2), + @subfields + ); + $field->replace_with($newfield); + }; + warn "ERROR occurred in SetUTF8Flag $@" if $@; + } + } } =head2 NormalizeString