I was recently alerted to a problem with file uploading when the
filename contained non-ASCII characters. What appears to happen is
NetSurf converts the filename given by the frontend to UTF-8, and then
when the POST is done by Curl it tries to open the file using the
UTF-8 name.
When the OS uses a filesystem which stores filenames in UTF-8 this is
not a problem. However, when it stores them in a local character set
the conversion means Curl can't open the file and an error occurs
rather than the file being uploaded. This happens on OS4 and I
suspect some of our other targets too.
The branch chris/non-ascii-file-upload is my attempt at fixing this.
I've added a new item to the form structure to hold the original
filename given to NetSurf by the OS, and this is then passed to Curl
instead of the UTF-8 version (the UTF-8 version is still there for the
display).
I'm not sure if this is the best way of handling it, and my build
environment is screwed up so I can't actually test it at the moment,
so any comments welcomed.
Chris
No comments:
Post a Comment