我已经意识到文件上传到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()方法获取文件名,但它只适用于latin charset,但是对于文件名中带有RUSSIAN字符集的文件,它会失败,例如:
原始文件名:my_file.doc - > my_file.doc
原始文件名:заявки.png - > 70O2:8.png
任何想法我怎么能解决这个问题?
提前致谢!
UPD 27.09.2012:
我找到了有趣的bug。如果我将上面代码中的 文件 变量添加到手表中,我会看到 _encoding 属性等于“ utf8 ”。如果我将此属性更改为“ null ”,一切正常!
有什么想法吗?谢谢!
答案 0 :(得分:0)
检查您为编译器设置的编码以及JSF页面顶部的编码。
答案 1 :(得分:0)
试试这个: 打开项目属性,选择编译器节点并检查选定的字符编码。在你的情况下它应该是utf-8。