]> git.evergreen-ils.org Git - working/Evergreen.git/commit
Move the decode_utf8() call for various feeds to entityize()
authordbs <dbs@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Thu, 14 Jan 2010 04:54:48 +0000 (04:54 +0000)
committerdbs <dbs@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Thu, 14 Jan 2010 04:54:48 +0000 (04:54 +0000)
commit893626b092ef6a8cafc8b7064fe9bbad99fda9ad
tree26ce72deee19848af47b17f220491a717d55a4ab
parent52cc9eb9669e29e1bed76f46c3f88560175b66ca
Move the decode_utf8() call for various feeds to entityize()

decode_utf8() is special in that it won't transform any string once
its 'utf8' flag has been set, so it is a safe subroutine to call
multiple times for a given string.

As it turns out, SRU (and in turn Z39.50) is suffering from a double-encoding
of the search terms, so we have to forcefully double-decode the terms with
the decode('utf8') variation that does not respect the 'utf8' string.

This will enable Z39.50 and SRU queries to actually return results for
queries like 'Montréal' and 'Québec'. Eventually we need to figure out
where in the SRU/CGI stack the strings are being incorrectly encoded in
the first place, but for now a much-improved Z39.50 server seems acceptable.

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