Variants of Prelude and System.IO with UTF8 text I/O operations.
If you want your Haskell code to have UTF8 text IO then use libraries which have UTF8 text IO. In case of Prelude with this package only three mechanical steps needed:
In all modules import Prelude explicitly and replace every occurrence of
Prelude
withUTF8Prelude
.Use the NoImplicitPrelude language extension.
In all modules replace every occurrence of
System.IO
withSystem.UTF8IO
.
utf8-test tests several functions regarding UTF8 text I/O. Note: utf8-test creates a file named writeFile_test.txt (5,3K) in the current working directory.
utf8-prelude is based on utf8-string: http://hackage.haskell.org/cgi-bin/hackage-scripts/package/utf8-string/index.html
This package will be obsolete *after* GHC 6.10: http://hackage.haskell.org/trac/ghc/wiki/Status/Releases