1

我已经实现了将文件上传到 DB BLOB 字段中,正如 Timo Hahn 文章中所述:

http://tompeez.wordpress.com/tag/afinputfile

代码片段:

// The event give access to an Uploade dFile which contains data about the file and its content

UploadedFile file = (UploadedFile) valueChangeEvent.getNewValue();

// Get the original file name

String fileName = file.getFilename();

一切正常,但我在文件名编码方面遇到了一些麻烦。我尝试使用 getFilename() 方法获取文件名,但它仅适用于拉丁字符集,但是对于文件名中带有 RUSSIAN 字符集的文件,它会失败,例如:

原始文件名:my_file.doc -> my_file.doc

原始文件名:заявки.png -> 70O2:8.png

有什么想法可以解决这个问题吗?

提前致谢!

2012 年 9 月 27 日更新:

我发现了有趣的错误。如果我将上面代码中的文件变量添加到手表中,我将看到_encoding属性等于“ utf8 ”。如果我将此属性更改为“ null ”,一切正常!

有任何想法吗?谢谢!

4

2 回答 2

0

试试这个:打开项目属性,选择编译器节点并检查选定的字符编码。在您的情况下应该是 utf-8 。

于 2012-09-23T09:03:25.143 回答
0

检查您为编译器和 JSF 页面顶部设置的编码。

于 2012-09-21T18:03:12.313 回答