If you need to upload text files, the FileReader API provides a
http://www.vectomatic.org/mvn-sites/lib-gwt-file/apidocs/org/vectomatic/file/FileReader.html#readAsText%28org.vectomatic.file.Blob,%20java.lang.String%29
method. The spec says you ought to be able to specify an encoding in
which you want to obtain the data (I have not tried it with non-Unicode
encodings though).
As to the filename, it is available through the
http://www.vectomatic.org/mvn-sites/lib-gwt-file/apidocs/org/vectomatic/file/File.html#getName%28%29
method, so in this case it is a Unicode string.
So I think the question is more about the class you use to upload the
file, the encoding it supports, and how to find the best common
denominator between it and the File API. Can you tell us more about it
(XmlHttpRequest, FileUpload, other ?)
Regards
Lukas