Я написал Java-программу для генерации файла m3u на основе компакт-диска, скопированного с k3b, который в значительной степени сохраняет специальные кодировки символов в названиях исполнителей, альбомов и дорожек. Затем я помещаю эти файлы m3u на сервер и создаю веб-приложение GWT, где имя файла m3u является целью тега привязки HTML. В 99 +% случаев все это работает отлично. В некоторых случаях специальные символы приводят к сбою ссылки.
Один из неудачных примеров - Movits! album Äppelknyckarjazz (обратите внимание на первый символ, который кодируется конструктором URI как% C3% 84). Поскольку клиент GWT, источник просмотра не показывает ссылку :-( Но при наведении на ссылку Firefox показывает правильно декодированный URL-адрес. При нажатии на ссылку Firefox завершается с ошибкой: «... ... ppelknyckarjazz.m3u был не найден на этом сервере "Как будто в игре используются разные схемы кодирования символов, но, честно говоря, у меня болит мозг, пытаясь разгадать загадку на этом уровне.
Итак, на самом деле есть два вопроса:
1) Моя проблема - проблема со схемой кодирования?
2) Если это так, как я могу поддерживать согласованность с учетом различных частей приложения (генератор Java m3u, клиент GWT, браузер Firefox, веб-сервер Apache).