Primefaces UploadedFileName 土耳其字符问题

Primefaces UploadedFileName Turkish character issue

我正在使用 PrimeFaces 5.1 和 p:fileUpload 组件上传图像。但是我得到了土耳其语字符的未定义字符(例如“ı ç ş ğ”)。我研究并尝试了很多wat,但我没有成功。I saw this question但没有解决我的问题。我的字符编码过滤器如下所示。我还在 web.xml 文件中为此定义了过滤器。

public class CharacterEncodingFilter implements Filter {

    public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws IOException, ServletException {
            req.setCharacterEncoding("ISO-8859-9");
            resp.setCharacterEncoding("ISO-8859-9");
            chain.doFilter(req, resp);
    }

    public void init(FilterConfig filterConfig) throws ServletException {

    }

    public void destroy() {

    }}

我的 handleFileUpload 方法

public void handleFileUpload(FileUploadEvent event) {
try {
System.out.println(new String(event.getFile().getFileName().getBytes("UTF-8")));
System.out.println(new String(event.getFile().getFileName().getBytes("ISO-8859-9")));
} catch (UnsupportedEncodingException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}

}

我正在为 "Adsız.png".

获取 UTF8 和 ISO-8859-9 字符集的文件名

广告±z.png

Adsız.png

你能检查一下这个话题吗?试试这段代码。 Java Uploaded File Name

Web.xml

<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>

感谢@BalusC 的宝贵意见。我更改为 Tomcat 将 Cp1254 编码为 UTF-8,我确认我使用了本机 PrimeFaces 库并解决了问题。再次感谢@BalusC。