From 945838da9ebf66ee8aab07093421fe26174e483e Mon Sep 17 00:00:00 2001 From: Stephane Delaune Date: Wed, 22 Feb 2017 12:25:33 +0100 Subject: [PATCH] Bug 18152 : fix unimarc label in SetMarcUnicodeFlag The standard UNIMARC requires than the 9th character (starting from 0) in labels must be blank (while it may be 'a' in marc21) the problem is that C4::Charset::SetMarcUnicodeFlag (called in particular when we import a record) always add 'a' char in the 9th label'pos whereas it should do it just for MARC21 and NORMARC (not for UNIMARC) : C4::Charset::SetMarcUnicodeFlag add 'a' char in the 9th label character for MARC21 and NORMARC (it's normal), but just before doing this it call "$marc_record->encoding('UTF-8')" which is a MARC::Record function which, when called with 'UTF-8' parameter, do only one thing : add 'a' char in the 9th label character This patch only removes this incorrect function call, so, when we import a bib record in UNIMARC : it no longer adds erroneous character (this does not change anything for MARC21 and NORMARC because SetMarcUnicodeFlag explicitly adds 'a' char in the 9th label for them) Signed-off-by: Alex Buckley Signed-off-by: Jonathan Druart Signed-off-by: Mason James --- C4/Charset.pm | 1 - 1 file changed, 1 deletion(-) diff --git a/C4/Charset.pm b/C4/Charset.pm index 1f2a8c9570..817682b218 100644 --- a/C4/Charset.pm +++ b/C4/Charset.pm @@ -324,7 +324,6 @@ sub SetMarcUnicodeFlag { my $marc_record = shift; my $marc_flavour = shift; # || C4::Context->preference("marcflavour"); - $marc_record->encoding('UTF-8'); if ($marc_flavour eq 'MARC21' || $marc_flavour eq 'NORMARC') { my $leader = $marc_record->leader(); substr($leader, 9, 1) = 'a'; -- 2.39.5