Priority: Normal
Current State: Closed
Released In: 2.1.0
Target Release: minor
Repo
Check here:
and click to any table header. - Will report nonexistent web/topic.
--
JozefMojzis - 02 Dec 2015
I have a fix, but I don't know why it's needed where it's needed.
diff --git a/TablePlugin/lib/Foswiki/Plugins/TablePlugin/Core.pm b/TablePlugin/lib/Foswiki/Plugins/TablePlugin/Core.pm
index a9f230d..e315211 100644
--- a/TablePlugin/lib/Foswiki/Plugins/TablePlugin/Core.pm
+++ b/TablePlugin/lib/Foswiki/Plugins/TablePlugin/Core.pm
@@ -1893,7 +1893,7 @@ sub handler {
@origTable = $cgi->multi_param('table');
@origUp = $cgi->multi_param('up'); # NOTE: internal parameter
$cgi->delete( 'sortcol', 'table', 'up' );
- $url = $cgi->url( -absolute => 1, -path => 1 ) . '?';
+ $url = Foswiki::decode_utf8($cgi->url( -absolute => 1, -path => 1 ) . '?');
my $queryString = $cgi->query_string();
if ($queryString) {
$url .= $queryString . ';';
The thing that concerns me is that I've looked at the other places that call cgi URL, and they are not doing decode_utf8.
--
GeorgeClark - 03 Dec 2015
I've checked in the fix. Still though question if
Foswiki::Request::url()
shouldn't return a unicode string instead of needing the caller to do it.
--
AdminUser - 11 Dec 2015
As I understand it,
Foswiki::Reponse::uri
is intended to be as code-compatible with HTTP::Response as possible. However
uri()
doesn't seem to be part of this protocol (see
http://search.cpan.org/~ether/HTTP-Message-6.11/lib/HTTP/Response.pm) so if (and only if) this isn't an implementation of an internal method with hidden but defined semantics, it should be all right to enhance it with a decode. Make sure it isn't used anywhere else, though.
--
Main.CrawfordCurrie - 28 Dec 2015 - 07:35
It's
url
not
uri
, and that is implemented in CGI. I can't find anywhere that documents if the CGI function does any decoding of the ULR, so I think we should probably not change the url subroutine. I'll add some documentation into Foswiki::Request. Actually I wonder if this might be related to running CGI with the qw( -utf8 ) pragma. CGI returns byte strings unless the -utf8 pragma is enabled.
--
GeorgeClark - 30 Dec 2015