Java上载的Java上载文件名土耳其字符问题 - Primefaces [英] Java Uploaded File Name Turkish Character Issue in JSF - Primefaces

查看:98
本文介绍了Java上载的Java上载文件名土耳其字符问题 - Primefaces的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用Primefaces p:fileUpload 对话框。当我在文件名中使用一些特定的土耳其字符,如ğüşıöç时,我无法正确地获取它们,也无法将上传的文件保存在光盘上。

I use Primefaces p:fileUpload dialog. When I use some specific Turkish characters in file name like "ğ ü ş ı ö ç" I can't get them corretly and can't save the uploaded file on disc.

public void handleFileUpload(FileUploadEvent event){
    String newName = new String(event.getFile().getFileName("ISO-8859-1").getBytes(), "UTF-8");

或者我也试过这个:

String newName = new String(event.getFile().getFileName("ISO-8859-1").getBytes(), "ISO-8859-9");

如何正确获取或转换字母?感谢您的帮助。

How to get or convert the letters corretly? Thanks for help.

推荐答案

确保在文件上传过滤器之前在web.xml中包含以下过滤器

Make sure to include the following filter in your web.xml, before the file upload filter

<filter>
    <filter-name>Character Encoding Filter</filter-name>
    <filter-class>org.primefaces.examples.filter.CharacterEncodingFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>Character Encoding Filter</filter-name>
    <servlet-name>Faces Servlet</servlet-name>
</filter-mapping>

现在简单 event.getFile()。getFileName()应该打印正确的名称

now simple event.getFile().getFileName() should print the proper name

这篇关于Java上载的Java上载文件名土耳其字符问题 - Primefaces的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆