Bug 12174 - Zotero connection with Koha: problem with UTF-8
authorZeno Tajoli <z.tajoli@cineca.it>
Sat, 3 May 2014 09:09:25 +0000 (11:09 +0200)
committerTomas Cohen Arazi <tomascohen@gmail.com>
Thu, 31 Jul 2014 15:00:44 +0000 (12:00 -0300)
This patch solves the bug for UTF-8 output. MARC-8 works only if you save it as a file. In fact the standard Internet stack (browser, web server, etc.) doesn't know anything about MARC-8 or it's ISO base (ISO 2022).

To test the bug:
-- without the patch use Zotero on a recent Koha install with Apache.
You can use PTFS sandboxes. You can't use Biblibre sandboxes, they use Ngix.
-- Test a record with special chars.
-- Install the patch
-- Catch (using Zotero) the same record.
-- Test all directly download from Opac.
-- To check MARC-8, use a tool that support it. For example MarcEdit.

http://bugs.koha-community.org/show_bug.cgi?id=12174
Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Work as described
Tested with zotero add-on for firefox.
Before patch bad diacritics, after patch ok

Record exported as MARC-8, transformed using
yaz-iconv -f marc8 -t utf-8 bib.marc8 > bib.utf8
yaz-marcdump -i marc -o line bib.utf8, checking accents,
also comparing with direct utf-8 export

No koha-qa errors

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Tested with Zotero in Firefox and with yaz-iconv as suggested by
Bernardo, no problems found.
Passes tests and QA script.

Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
opac/opac-export.pl

index 002c88e..8d76a1c 100755 (executable)
@@ -91,8 +91,15 @@ if ($error){
     print $query->end_html();
 }
 else {
-    print $query->header(
-      -type => 'application/octet-stream',
-      -attachment=>"bib-$biblionumber.$format");
-    print $marc;
+    if ($format eq 'marc8'){
+        print $query->header(
+            -type => 'application/marc',
+            -charset=>'ISO-2022',
+            -attachment=>"bib-$biblionumber.$format");
+    }else{
+        print $query->header(
+            -type => 'application/octet-stream',
+            -charset=>'utf-8',
+            -attachment=>"bib-$biblionumber.$format");
+    }
 }