On Sun 23 Jan 2005, maximilian attems maks@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;ind...
however it really should link to http://vienna.openguides.org/vienna.cgi?action=index;index_type=category;ind...
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