It might be a good time to consider that the musical sharp character is ♯ not #. That seems like it would be an effective substitution (since it’s not a special/protected character), but the other obvious one is the word sharp.
If Desktop is changing the img tag to %23 when you attach the file – isn’t it also changing the name of the actual file that it adds to collection.media? In which case, when you sync the other platforms, they should be getting the img tag in the note, and the attached media file that also say %23. Are all of your platforms in sync? Or are you saying that when the other platforms get the img tag wtih %23, they are changing it back to #, which then doesn’t match the attached filename?
Thanks for the ♯ suggestion, I didn’t realize it was it’s own character, I’ll definitely try that in the file names.
The real question is if there is a way to rename all the offending cards at once without breaking all the cards vs. changing each card individually.
It does not change the name of the file in the media folder, it only changes the HTML text on the Desktop app, which is not reflected in Web or AnkiDroid when I sync.
My understanding is %23 is HTML speak for look for a # sign in the file name, so it wouldn’t be changing the actual names of the files. I’m suspecting Anki is actually storing the # sign in the HTML in the database, and only changes it to %23 after it’s read from the database, thus syncing has no effect.
This is stranger than I thought. If I change a # sign to %23 in the html in the AnkiDroid app, then sync, that change carries over to the windows app, but then if I’m browsing through the Windows app cards and click in the field that has the HTML text, Windows changes it back to a # in the sort field, but the HTML text remains unchanged:
After changing HTML in AnkiDroid from # to %23 and syncing to Desktop: