the changeset 10693 fixing #11030 (File uploads break on non english
filesystem encoding) introduced a problem with non english filenames
in my setup (Windows XP or 2003, Python2.6, Apache). If I upload a
file with czech characters (e.g. čeština.txt - the first character is
ccaron or \u010d, the 3rd is scaron or \u0161) the file created on
Windows filesystem has a crippled name (čeština.txt).
The problem is caused by smart_str converting the unicode string into
bytestring. If I revert 10693 and let the filename be passed to
os.open() as unicode string, the file is correctly created on the
filesystem. I think that smart_str should be called only if the
underlying filesystem cannot handle unicode characters in the
filename.
Thanks,
Vaclav
Filed as #12898.