与af的麻烦:inputFile组件getFilename()方法编码

时间:2012-09-21 14:24:35

标签: oracle-adf

我已经意识到文件上传到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 ”,一切正常!

有什么想法吗?谢谢!

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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