[Koha-cvs] koha/z3950 search.pl [dev_week]
Ryan Higgins
rch at liblime.com
Fri Mar 23 21:58:17 CET 2007
CVSROOT: /sources/koha
Module name: koha
Branch: dev_week
Changes by: Ryan Higgins <rych> 07/03/23 20:58:16
Modified files:
z3950 : search.pl
Log message:
fixing encoding problem - yet another roundtrip
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/koha/z3950/search.pl?cvsroot=koha&only_with_tag=dev_week&r1=1.3.2.6.2.4&r2=1.3.2.6.2.5
Patches:
Index: search.pl
===================================================================
RCS file: /sources/koha/koha/z3950/Attic/search.pl,v
retrieving revision 1.3.2.6.2.4
retrieving revision 1.3.2.6.2.5
diff -u -b -r1.3.2.6.2.4 -r1.3.2.6.2.5
--- search.pl 2 Jan 2007 16:40:34 -0000 1.3.2.6.2.4
+++ search.pl 23 Mar 2007 20:58:16 -0000 1.3.2.6.2.5
@@ -171,6 +171,19 @@
my $marcrecord;
$marcdata = $rec->raw();
$marcrecord = MARC::File::USMARC::decode($marcdata);
+ my $xmlrecord = $marcrecord->as_xml;
+ my $newmarcrecord;
+ eval {
+ $newmarcrecord = MARC::Record::new_from_xml($xmlrecord,'UTF-8');
+ };
+ if ($@) {
+ warn "MARC from Z3950 has a problem:";
+ warn DUMP $xmlrecord;
+ warn DUMP2 $newmarcrecord->as_usmarc();
+ warn $@;
+ next;
+ }
+ my $recordstring = $newmarcrecord->as_usmarc();
####WARNING records coming from Z3950 clients are in various character sets MARC8,UTF8,UNIMARC etc
## In HEAD i change everything to UTF-8
# In rel2_2 i am not sure what encoding is so no character conversion is done here
@@ -178,7 +191,7 @@
my $oldbiblio = MARCmarc2koha($dbh,$marcrecord,"");
$oldbiblio->{isbn} =~ s/ |-|\.//g,
$oldbiblio->{issn} =~ s/ |-|\.//g,
- my ($notmarcrecord,$alreadyindb,$alreadyinfarm,$imported,$bid)=ImportBreeding($marcdata,1,$serverhost[$k],$encoding[$k],$random);
+ my ($notmarcrecord,$alreadyindb,$alreadyinfarm,$imported,$bid)=ImportBreeding($recordstring,1,$serverhost[$k],$encoding[$k],$random);
my $warnings;
$warnings = "Invalid MARC record" if ($notmarcrecord);
$warnings .= "\nThis record already exists in catalog" if ($alreadyindb);
More information about the Koha-cvs
mailing list