]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - doc/bugs/unicode_encoded_urls_and_recentchanges.mdwn
cleaner bugfix in now available
[git.ikiwiki.info.git] / doc / bugs / unicode_encoded_urls_and_recentchanges.mdwn
index 2568aef387638dbb2f2cc1e7d7a11dec11fe603c..262aa24fce68f56ec77168f85299947f5eafdc8a 100644 (file)
@@ -2,7 +2,7 @@ it appears that unicode characters in the title that are unicode letters are spa
 
 > Filenames can have any alphanumerics in them without the __ escaping.
 > Your locale determines whether various unicode characters are considered
-> alphanumeric. In other words, it just looks at the [[:alpha:]] character
+> alphanumeric. In other words, it just looks at the \[[:alpha:]] character
 > class, whatever your locale defines it to be. --[[Joey]]
 
 this is not a problem per se, but (at least with git backend) the recent changes missinterpret the file name character set (it seems to read the filenames as latin1) and both display wrong titles and create broken links.
@@ -11,3 +11,28 @@ the problem can be shown with an auto-setup'd ikiwiki without cgi when manually
 
 > Encoding issue, I figured out a fix. [[done]] --[[Joey]]
 
+>> the link text works now, but the link goes to
+>> `ikiwiki.cgi?page=uml%C3%A4ute&do=recentchanges_link`, which fails with
+>> "missing page". it seems that bestlink can't handle utf8 encoded texts. (the
+>> same happens, by the way, when using meta-redir to a page with high bytes in
+>> the name.)
+>>
+>>> The problem is that all cgi inputs have to be explicitly decoded to
+>>> utf-8, which I've now done for `recentchange_link`.
+>>>> thanks a lot, i think that closed the bug.
+>>> 
+>>> I cannot, however, reproduce a problem with meta redir. Here it
+>>> generated the following html, which redirected the browser ok:
+>>>    <meta http-equiv="refresh" content="0; URL=./../รข/" />
+>>>> sorry, my fault -- it was the blank which needed to be replaced by an
+>>>> underscore, not the high byte character
+>>
+>> update: i've had a look at the git options; you could run git with '-z' (NUL
+>> termination) in the `git_commit_info` function; this would require some
+>> changes in `parse_diff_tree`, but otherwise completely eliminate the
+>> problems with git escaping.
+>> 
+>>> If you would like to develop a patch to that effect, I'd be glad to
+>>> drop the current nasty code.
+>>>> i'll have a look, but i'm afraid that's above my current perl skills.
+>>>> --[[chrysn]]