There is a bug that prevent using filenames with multibyte characters in upload.module. For example, attaching file with russian filename with spaces, result in lost of first word. Also, it's not possible to download such files in some browsers because of national characters in url.
Quick look to module source reveal that all string functions are not unicode aware (however, there are drupal wrappers existing for some of them, like drupal_strlen, drupal_strtoupper and drupal_strtolower). I think, this is odd for core module.
I think, the solution may be replacing all string functions with their unicode equivalents and using urlencode() to encode urls with national characters.

Comments

vitamin-1’s picture

I found that loosing first word is because of PHP basename function in file.inc, line 224 (file_check_upload function), which doesn't work correctly with UTF-8 when LC_CTYPE is set to 'C'. Changing LC_CTYPE from 'C' to national locale ('ru_RU.UTF-8' in my case) in unicode.inc solve this particular basename problem, but I'm not sure about side effects that can arise.

drumm’s picture

Version: 5.1 » 6.x-dev
Status: Active » Postponed (maintainer needs more info)

What version of PHP are you using?

chx’s picture

Status: Postponed (maintainer needs more info) » Closed (won't fix)

can't fix in lack of more information.

coldfly’s picture

i think there are some infomation
http://drupal.org/node/100766