From: https://www.google.com/accounts/o8/id?id=AItOawlxhTpXjVrFtgk7H7La4U7dZSob-r0680U Date: Fri, 13 Jan 2012 23:00:13 +0000 (-0400) Subject: (no commit message) X-Git-Tag: 3.20120115~3^2~2 X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/commitdiff_plain/059671fc4562a6e4dd55e092ec9a31038b14ef45?hp=6b0ac401cdbe3a0e4a6997411542e1e0598ccbe5 --- diff --git a/doc/bugs/UTF-8_in_attachment_filenames.mdwn b/doc/bugs/UTF-8_in_attachment_filenames.mdwn new file mode 100644 index 000000000..6e79a4e06 --- /dev/null +++ b/doc/bugs/UTF-8_in_attachment_filenames.mdwn @@ -0,0 +1,15 @@ +I have ikiwiki_3.20111229 installed on Debian Squeeze (Perl 5.10.1, UTF-8 locale). The attachment plugin mangles UTF8-encoded attachment filenames if the name contains multibyte characters, e.g. "lää.png" becomes "lää.png". Apparently glob returns byte strings which are subject to implicit upgrading when concatenated with Perl strings. The following patch fixes the problem for me: + +---- + + diff -r -U 1 a/attachment.pm b/attachment.pm + --- a/attachment.pm 2012-01-13 23:07:29.000000000 +0200 + +++ b/attachment.pm 2012-01-13 23:33:07.000000000 +0200 + @@ -274,2 +274,3 @@ + foreach my $filename (glob("$dir/*")) { + + $filename=Encode::decode_utf8($filename); + next unless -f $filename; + @@ -347,2 +348,3 @@ + foreach my $file (glob("$dir/*")) { + + $file = Encode::decode_utf8($file); + next unless -f $file;