[Haskell-cafe] Problems with HStringTemplate UTF8 templates in ghc-6.12

Dmitry Simonchik dima at simonchik.net
Sun May 2 16:21:43 EDT 2010


My system locale is en_US.UTF-8

I've written an example app as following

import Text.StringTemplate(render, directoryGroupRecursive, STGroup,
getStringTemplate, setAttribute)
import qualified Data.ByteString as BS

main :: IO ()
main = do
    tg <- getTemplates "./"
    let (Just tmpl) = getStringTemplate "test" tg
    let res = render $ setAttribute "test" "Это проверка" tmpl
    BS.writeFile "./output.txt" res

getTemplates :: FilePath -> IO (STGroup BS.ByteString)
getTemplates path = directoryGroupRecursive path

It just reads a test template and writes rendered result back to file. And I
get corrupted output.

On Sun, May 2, 2010 at 5:44 PM, Ivan Lazar Miljenovic <
ivan.miljenovic at gmail.com> wrote:

> Dmitry Simonchik <dima at simonchik.net> writes:
> > But recently I upgraded to ghc-6.12 and hstringtemplate-0.6.2 and the
> output
> > of my program now broken. I can see correctly only UTF8 values that I
> pass
> > to template from database. It seems that toString method produces not
> UTF-8
> > encoded string, because if i use Codec.Binary.UTF8.String.encodeString i
> get
> > correct output except for values from database.
>
> What is your OSs locale?  As of 6.12.1, GHC defaults to doing IO using
> the system's locale, which means you might be doubly encoding the String.
>
> --
> Ivan Lazar Miljenovic
> Ivan.Miljenovic at gmail.com
> IvanMiljenovic.wordpress.com
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/haskell-cafe/attachments/20100502/2965d97b/attachment.html


More information about the Haskell-Cafe mailing list