我正在使用 java 小程序浏览远程服务器 (ftp/cifs) 上的文件/文件夹。问题是,如果远程服务器上的文件夹以非 ascii 字符(比如日语或中文)命名,则小程序无法启动。我已经追溯了似乎是由于服务器响应中的非 ascii 字符串解析不正确引起的问题。以下是来自服务器的 xml 响应的片段。
<?xml version="1.0" encoding="utf-8" ?><a:multistatus xmlns:b="urn:uuid:/" xmlns:c="xml:" xmlns:a="DAV:">
<a:response><a:href>https://xx.xx.xx.xx/folder/äèä¸?能æ£å¸¸å·¥ä½œ</a:href><a:propstat><a:status>HTTP/1.1 200 OK</a:status>
请求来自服务器的字符集编码为 utf-8,如上所述。看起来垃圾的字符串是我尝试使用小程序查看的远程 Web 文件夹,该文件夹实际上命名为“不能正常工作”。由于两者不等价(实际文件夹名称和 xml 中的那个),java xml 解析在尝试启动小程序时会引发错误。请建议可以做些什么来解决这个问题。另外我没有使用 SAX 解析器,我使用的是 XML 解析器,然后创建了一个 DOM 对象