convmv is a good Perl script for converting file name encodings. But it cannot handle characters that are not in the encoding of the destination.
You can change any non-ASCII character to '?' using the rename utility distributed with Perl:
rename 's/[^ -~]/?/g' *
Unfortunately, this replaces multibyte characters with a few "?". Depending on the Unicode encoding that is used, and the characters associated with the regexp change may help, for example.
rename 's/[^ -~]{2}/?/g' *
for double byte characters.
source
share