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。
我正在使用 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。