From 9214845df782942f73ff6068cc8c135af8abc178 Mon Sep 17 00:00:00 2001 From: Tomas Cohen Arazi Date: Fri, 28 Feb 2014 15:26:10 -0300 Subject: [PATCH] [Signed-off] Bug 4397: Scan index search results broken for non-latin characters MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The Zoom specification defines that a ScanSet should provide a way to retrieve terms suitable for displaying and another one for using on further searches [1]. The Net::Z3950::ZOOM implementation actually provides both [2] but we where using the wrong one. Using $scanset->display_term(...) instead of $scanset->term(...) fixes the problem. To test: - Do a index scan search (advanced search > more options > check 'index scan') - Notice non-latin characters are replaced by one or more '@' symbols. - Apply the patch - Re-do the search, everything shows as it should. - Try to follow any of the terms (clicking on them) and notice that it actually gives you relevant results (i.e. is not searching for @!!!!). - Sign off :-D Regards To+ [1] http://zoom.z3950.org/api/zoom-1.4.html#3.6.3 [2] http://search.cpan.org/~mirk/Net-Z3950-ZOOM/lib/ZOOM.pod#term()_/_display_term() Sponsored-by: Universidad Nacional de Cordoba Followed test plan. Patch behaves as expected. Signed-off-by: Marc VĂ©ron --- C4/Search.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/C4/Search.pm b/C4/Search.pm index 09c1951..816d803 100644 --- a/C4/Search.pm +++ b/C4/Search.pm @@ -457,7 +457,7 @@ sub getRecords { ## Check if it's an index scan if ($scan) { - my ( $term, $occ ) = $results[ $i - 1 ]->term($j); + my ( $term, $occ ) = $results[ $i - 1 ]->display_term($j); # here we create a minimal MARC record and hand it off to the # template just like a normal result ... perhaps not ideal, but -- 1.7.10.4