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.
