From be4ff830909688e44780654285dd2df5d74aa0a9 Mon Sep 17 00:00:00 2001 From: Julian Maurice Date: Wed, 23 Nov 2022 15:43:06 +0100 Subject: [PATCH] Bug 32336: Fix encoding of MARCXML output for REST API (UNIMARC) Test plan: 1. Be sure to test on a UNIMARC instance 2. Enable system preferences RESTPublicAPI and RESTPublicAnonymousRequests 3. Create a biblio with some diacritics 4. Restart koha and do not interact with OPAC or the staff interface (this may change $MARC::File::XML::RecordFormat) 5. Query the public API to retrieve the created biblio in MARCXML. For instance with cURL: curl -H 'Accept: application/marcxml+xml' \ http://koha.local/api/v1/public/biblios/ You should see encoding issues. 6. Apply the patch and restart Koha. 7. Repeat step 5. You should see no encoding issues. 8. You should also test /api/v1/biblios/ (this one requires authentication, so cURL might not be the most practical tool; use your favorite tool for this) Signed-off-by: Jonathan Druart Signed-off-by: Tomas Cohen Arazi (cherry picked from commit 1a02ba56f177fe6d05ad9ae1518d583c6a3ea8ac) Signed-off-by: Matt Blenkinsop --- Koha/REST/V1/Biblios.pm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Koha/REST/V1/Biblios.pm b/Koha/REST/V1/Biblios.pm index 9227a6af8a..530df09be7 100644 --- a/Koha/REST/V1/Biblios.pm +++ b/Koha/REST/V1/Biblios.pm @@ -68,12 +68,13 @@ sub get { } else { my $record = $biblio->metadata->record; + my $marcflavour = C4::Context->preference("marcflavour"); $c->respond_to( marcxml => { status => 200, format => 'marcxml', - text => $record->as_xml_record + text => $record->as_xml_record($marcflavour), }, mij => { status => 200, @@ -204,7 +205,7 @@ sub get_public { marcxml => { status => 200, format => 'marcxml', - text => $record->as_xml_record + text => $record->as_xml_record($marcflavour), }, mij => { status => 200, -- 2.39.5