【问题标题】:Java Uploaded File Name Turkish Character Issue in JSF - PrimefacesJSF 中的 Java 上传文件名土耳其语字符问题 - Primefaces
【发布时间】:2014-11-26 12:33:30
【问题描述】:

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

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");

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

【问题讨论】:

    标签: java jsf primefaces


    【解决方案1】:

    确保在您的 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>
    

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

    【讨论】:

      猜你喜欢
      • 2015-05-29
      • 2010-10-20
      • 2021-07-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-22
      相关资源
      最近更新 更多