It seems that io functions like putStrLn not support putting all unicode characters like:
1.OtherSymbol,like emoji
ghci> putStrLn "🏅"
*** Exception: <stdout>: hPutChar: invalid argument (invalid character)
ghci> putStrLn "🥰"
*** Exception: <stdout>: hPutChar: invalid argument (invalid character)
ghci> import Text.Unicode
2.Some Math Symbol like exist,sum:
ghci> putStrLn "⅀"
*** Exception: <stdout>: hPutChar: invalid argument (invalid character)
ghci> putStrLn "∃"
*** Exception: <stdout>: hPutChar: invalid argument (invalid character)
3.Modifier Letter,like small modifier letter ʲ
ghci> putStrLn "ʲ"
*** Exception: <stdout>: hPutChar: invalid argument (invalid character)
ghci> putStrLn "ʰ"
*** Exception: <stdout>: hPutChar: invalid argument (invalid character)
ghci> putStrLn "ᵂ"
*** Exception: <stdout>: hPutChar: invalid argument (invalid character)
ghci> putStrLn "ꓽ"
*** Exception: <stdout>: hPutChar: invalid argument (invalid character)
4.Some Other Letter,like jeem:
ghci> putStrLn "ج"
*** Exception: <stdout>: hPutChar: invalid argument (invalid character)
5.Titlecase Letter,like:
ghci> putStrLn "Dž"
*** Exception: <stdout>: hPutChar: invalid argument (invalid character)
…others I haven’t test
I have searched for base's documents,but haven’t found the answers.Does someone have some ideas or reference to offer?
Thanks!Sorry for I just search around the