For the uploaded audio file «U Got Me (Burnin').m4a» this is the URL enclosure found in the iTunes RSS feed :
<enclosure url="http://example.com/files/podcast_audio/U Got Me (Burnin&#039;).m4a" length="4333779" type="audio/mpeg" />

So iTunes returns this error after trying to retrieve the enclosure :
«The URL "http://example.com/files/podcast_audio/U Got Me (Burnin').m4a" could not be found on the server.»

The proper URL enclosure should have been :
<enclosure url="http://example.com/files/podcast_audio/U%20Got%20Me%20%28Burnin&#039;%29.m4a" length="4333779" type="audio/mpeg" />

Here is the fix. In script itunes.module [line 146] replace :
'url' => file_create_url($file['filepath']),
with :
'url' => str_replace(' ','%20',str_replace('%','%25',file_create_url($file['filepath']))),

Then, it works!

CommentFileSizeAuthor
#4 itunes_530594.patch527 bytesdrewish

Comments

drewish’s picture

I think your fix would work but it's kind of a band-aid on core issue. I'd actually suggest using the transliteration module: http://drupal.org/project/transliteration

guillaumeduveau’s picture

+1 for transliteration, very good module ! This issue should be marked as won't fix I guess !

drewish’s picture

That or we can just require that transliteration be installed...

drewish’s picture

Status: Active » Needs review
StatusFileSize
new527 bytes

thoughts?

guillaumeduveau’s picture

Status: Needs review » Needs work

I think it's better to just advise to install the module. Because installing transliteration on 6.x will transliterate the already existing filenames and therefore break many manually edited links. See #199660: Convert pre-existing filenames