First check for transit characters and replace them with their proper replacement. After that replace all not supported characters.
Fixes problems for filenames like: ,,,''"'I am*() a super 'superawesome file+with a super awesome-name“””’xxxx-.jpg