Prevent possible character corruption or fatal errors in SRU / Z39.50
authordbs <dbs@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Fri, 16 Apr 2010 04:38:02 +0000 (04:38 +0000)
committerdbs <dbs@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Fri, 16 Apr 2010 04:38:02 +0000 (04:38 +0000)
commitf971ccabc076b382969c296ed52e1871ca0c62c8
tree64f3e1a6d8b7ce73f843a3ad37c08889ce510bbe
parentbb4056f1acaf5fabb2a2b102cb9925c233e6485b
Prevent possible character corruption or fatal errors in SRU / Z39.50

All MARC records in the Evergreen database are Unicode-encoded. However,
if the LDR09 hasn't been updated to indicate this, when we invoke
MARC::File::XML->as_xml_record it automatically runs a MARC8-to-UTF8 conversion
over the data - potentially corrupting the data, or resulting in fatal
errors. When holdings are added to records in SRU / Z39.50, we invoke
this code path.

The solution here is to simply manually set the leader 09 position to 'a'
before invoking MARC::File::XML->as_xml_record.

git-svn-id: svn://svn.open-ils.org/ILS/trunk@16247 dcc99617-32d9-48b4-a31d-7c20da2025e4
Open-ILS/src/perlmods/OpenILS/WWW/SuperCat.pm