I might be wrong, but it seems there is no module library in Haskell that would provide a unified interface for converting strings from one encoding into another, be it Unicode Transformation Formats, the numerous 8-bit encodings, or some user-defined transliterations or transcriptions. Inspired by the Encode module in Perl, I have sketched an architecture of such an interface for Haskell. Let me give links to the proto-implementation and its documentation: http://ckl.mff.cuni.cz/smrz/Encode-0.01.zip http://ckl.mff.cuni.cz/smrz/Encode/doc/index.html There, I further discuss and illustrate how extending the library with new encodings would be done, and what the common data representation type might be. I would be happy for your comments and suggestions. Thank you, Otakar Smrz