Я использую 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, как указано выше. Строка для поиска мусора - это удаленная веб-папка, которую я пытаюсь просмотреть с помощью апплета, папка на самом деле называется 不能 正常 工作. Так как они не эквивалентны (фактическое имя папки и имя в xml), при разборе java xml возникает ошибка при попытке запуска апплета. Пожалуйста, предложите, что можно сделать, чтобы это исправить. Также я не использую парсер SAX, я использую парсер XML, а затем создаю объект DOM