convmv converts filenames (not file content), directories, and even whole filesystems to a different encoding. Though it's primary written to convert from/to UTF-8 it can also be used with almost any other charset encoding. Convmv can also be used for case conversion from upper to lower case and vice versa with virtually any charset. ATTENTION: Perl 5.10 seems to have a broken from_to() function so that convmv can not convert files to UTF-8 without using the --nosmart switch!