imran ansari created VFS-857: -------------------------------- Summary: listFiles() fails if the FTP Server (IIS based) contains any file with name in non-ascii Unicode character Key: VFS-857 URL: https://issues.apache.org/jira/browse/VFS-857 Project: Commons VFS Issue Type: Bug Affects Versions: 2.9.0 Environment: Microsoft IIS based FTP Server
!image-2025-02-14-19-24-23-511.png! Reporter: imran ansari Attachments: image-2025-02-14-19-24-23-511.png FTPClient method listFiles() fails if the FTP Server contains a file with name in non-ascii Unicode character. This is mainly reported if the server is {*}Microsoft IIS based{*}. VFS2 is not sending "OPTS UTF8 true" in the request for list files. The following code does not have any effect in case the FTP Server is IIS. {code:java} confBuilder.setControlEncoding(options, StandardCharsets.UTF_8.displayName()); confBuilder.setAutodetectUtf8(options, Boolean.TRUE); confBuilder.setFileType(options, FtpFileType.BINARY);{code} org.apache.commons.vfs2.FileSystemException: Could not find files in "ftp://192.168.100.8/" {panel:title=Stack Trace} Caused by: org.apache.commons.vfs2.FileSystemException: Could not find files in "ftp://192.168.100.8/". at org.apache.commons.vfs2//org.apache.commons.vfs2.provider.AbstractFileObject.findFiles(AbstractFileObject.java:1016) at org.apache.commons.vfs2//org.apache.commons.vfs2.provider.AbstractFileObject.listFiles(AbstractFileObject.java:1664) at org.apache.commons.vfs2//org.apache.commons.vfs2.provider.AbstractFileObject.findFiles(AbstractFileObject.java:991) ... 18 more Caused by: java.nio.file.InvalidPathException: Illegal char <?> at index 49: /Best Practices & Guidelines/???? ???? ????? ???? ?? ???? ?? ????? ???? ?????.docx at java.base/sun.nio.fs.WindowsPathParser.normalize(WindowsPathParser.java:182) at java.base/sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:153) at java.base/sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:77) at java.base/sun.nio.fs.WindowsPath.parse(WindowsPath.java:92) at java.base/sun.nio.fs.WindowsFileSystem.getPath(WindowsFileSystem.java:232) at java.base/java.nio.file.Path.of(Path.java:147) {panel} -- This message was sent by Atlassian Jira (v8.20.10#820010)