Bug 15818 - OPAC search with utf-8 characters and without results generates encoding error
When searching for something in OPAC which doesn't result in any results but have utf-8
characters in search string we get following encoding error:
Cannot decode string with wide characters at /usr/lib/i386-linux-gnu/perl5/5.20/Encode.pm line 215.
This is because we are trying to decode string which is allready correctly
marked as utf-8.
Test scenario:
1) enter search string with utf-8 characters in opac which doesn't
return any results
2) verify that you get application error
3) apply this patch
4) re-run query and verify that errror is gone
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Step 0: Define "OPACNoResultsFound" with '{QUERY_KW}'
Note that I don't get the error (Encode 2.60) but the search terms are
not display correctly.
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
The variable to be decoded comes from already decoded vars (via
the -utf8 flag from CGI), following the trail in Search.pm.
Signed-off-by: Brendan Gallagher brendan@bywatersolutions.com
This commit is contained in:
parent
43bcc1c42c
commit
ea69693997
|
|
@ -890,7 +890,6 @@ for (my $i=0;$i<@servers;$i++) {
|
|||
if ($nohits and $nohits=~/{QUERY_KW}/){
|
||||
# extracting keywords in case of relaunching search
|
||||
(my $query_kw=$query_desc)=~s/ and|or / /g;
|
||||
$query_kw = Encode::decode_utf8($query_kw);
|
||||
my @query_kw=($query_kw=~ /([-\w]+\b)(?:[^,:]|$)/g);
|
||||
$query_kw=join('+',@query_kw);
|
||||
$nohits=~s/{QUERY_KW}/$query_kw/g;
|
||||
|
|
|
|||
Loading…
Reference in New Issue