On Sun 23 Jan 2005, maximilian attems <maks(a)sternwelten.at> wrote:
vienna.og has troubles with non-ascii chars in
categories:
http://vienna.openguides.org/vienna.cgi?Category_CD/Platten-Gesch%E4fte
abovesis not beeing recognized as Category,
nor is one beeing able to see the pages of that cat.
Looking at the source, the "view all in this category" on that page links to
http://vienna.openguides.org/vienna.cgi?action=index;index_type=category;in…
however it really should link to
http://vienna.openguides.org/vienna.cgi?action=index;index_type=category;in…
Try clicking edit and then preview and you will see that the link
magically changes to be correct. However, if you save the page then
the link reverts to the broken one. Now, this _could_ have something
to do with the database, since when you view the page you're looking
at data that has come straight from the database and when you preview
it you're looking at data that has come straight from the browser form.
The odd thing is that the HTML is being created in exactly the same
way in both cases, by a call to $wiki->format
I am still poking at this issue, having got distracted by the one
below, which I think is related but not the same.
Note that the page you get redirected to on a saved edit is wrong, being
http://vienna.openguides.org/vienna.cgi?Category_CD/Platten-Gesch%C3%A4fte
instead of
http://vienna.openguides.org/vienna.cgi?Category_CD/Platten-Gesch%E4fte
This is because the node name parameter is not being properly URL-encoded
before the Location: header is printed to STDOUT. This bug slipped in
because I forgot that CGI::Wiki::Formatter::UseMod's ->node_name_to_node_param
method doesn't actually URL-encode, but expects you to do it yourself
after calling the method (this _is_ documented).
I think it perhaps should, since what I expect from that method is
something I can bung into a URL and it will Just Work. However
changing it to do that would break backwards compatibility and could
lead to things being doubly-encoded, which would suck. Thoughts? I
may punt this to cgi-wiki-dev as well.
Kake