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.