@@ -, +, @@ which calls SetMarcUnicodeFlag(), which calls MARC::Record->encoding('UTF-8') see https://doc.biblibre.com/koha/autour_de_koha/serveurs_z3950_sru#serveur_de_la_bnf --- C4/Breeding.pm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) --- a/C4/Breeding.pm +++ a/C4/Breeding.pm @@ -296,8 +296,8 @@ sub _handle_one_result { my $raw= $zoomrec->raw(); my $marcrecord; if( $servhref->{servertype} eq 'sru' ) { - $marcrecord= MARC::Record->new_from_xml( $raw, 'UTF-8', - $servhref->{syntax} ); + $marcrecord = MARC::Record->new_from_xml( $raw, 'UTF-8', C4::Context->preference('marcflavour') ); + $marcrecord->encoding('UTF-8'); } else { ($marcrecord) = MarcToUTF8Record($raw, C4::Context->preference('marcflavour'), $servhref->{encoding} // "iso-5426" ); #ignores charset return values } @@ -609,7 +609,8 @@ sub Z3950SearchAuth { my ($charset_result, $charset_errors); if( $servers[$k]->{servertype} eq 'sru' ) { - $marcrecord = MARC::Record->new_from_xml( $marcdata, 'UTF-8', $servers[$k]->{syntax} ); + $marcrecord = MARC::Record->new_from_xml( $marcdata, 'UTF-8', $marc_type ); + $marcrecord->encoding('UTF-8'); } else { ( $marcrecord, $charset_result, $charset_errors ) = MarcToUTF8Record( $marcdata, $marc_type, $encoding[$k] ); } --