convmv converts filenames (not file content), directories, and even whole filesystems to a different encoding. This comes in very handy if, for example, one switches from an 8-bit locale to an UTF-8 locale or changes charsets on Samba servers. It has some smart features: it automagically recognises if a file is already UTF-8 encoded (thus partly converted filesystems can be fully moved to UTF-8) and it also takes care of symlinks. Additionally, it is able to convert from normalization form C (UTF-8 NFC) to NFD and vice-versa. This is important for interoperability with Mac OS X, for example, which uses NFD, while Linux and most other Unixes use NFC. 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. Note that this is a command line tool which requires at least Perl version 5.8.0.
Release Notes: This release adds a new --dump-options option to make writing things like a bash completion easier. This release also adds the feature to do case conversion on a case-insensitive filesystem.
Release Notes: This release works around some more Perl::Encode incompatibilities. It now runs again with old Perl 5.8 releases.
Release Notes: This release adds a new parseable mode, an option to better fix double UTF-8 encoded files, and the ability to preserve timestamps. Some minor things have been polished.
Release Notes: This release also works with Perl 5.10. It is licensed under the GPL v2 and v3.
Release Notes: This release fixes some small bugs, improves the test suite, and introduces a new check routine which is called at program startup. Perl 5.8.8 introduced a bug that affected convmv which can be worked around. Perl 5.10 again introduced a bug which is now reported to be a Perl bug so that the user does not wonder why things don't work as expected.