When running s5cmd sync . s3://$bucket/ with a source directory containing filenames with unusual characters such as U+200E 'LEFT-TO-RIGHT MARK', s5cmd appears to generate cp commands with incorrectly-escaped characters and produces messages like this one:
ERROR "cp --raw=true /foo/weird-filename\\u200e.html s3://my-bucket/foo/weird-filename\\u200e.html": given object not found
s3cmd sync on the other hand seems to cope with these just fine (which is how these questionable filenames survived so long in the large dataset that I was trying to sync!)