That does help… A quick search on the distinctive “invalid character” part yielded several earlier reports in the forum, one of which had a resolution:
I don’t know the exact details of what Fly.io did behind the scenes with that fix, though.
If worse comes to worst, you can try the volume-forking technique or restore from a snapshot.
(Tweak --initial-cluster-size
as desired, of course.)