diff options
Diffstat (limited to 'doc/bugs/UTF-8_in_attachment_filenames.mdwn')
-rw-r--r-- | doc/bugs/UTF-8_in_attachment_filenames.mdwn | 25 |
1 files changed, 25 insertions, 0 deletions
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..07fff88d2 --- /dev/null +++ b/doc/bugs/UTF-8_in_attachment_filenames.mdwn @@ -0,0 +1,25 @@ +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; + +> Seems it only mangled display of the just-uploaded attachment's filename, +> the attachment was otherwise saved to disk with a valid UTF-8 name, and +> doing other stuff with it also was ok. In any case, I applied your patch, +> thanks. [[done]] --[[Joey]] |