Haskell System.Directory.getDirectoryContents unicode支持
下面的代码打印类似于Haskell System.Directory.getDirectoryContents unicode支持,haskell,unicode,ghc,Haskell,Unicode,Ghc,下面的代码打印类似于的内容 getDirectoryContents "path/to/directory/that/contains/files/with/nonASCII/names" >>= mapM_ putStrLn 看起来它是一个ghc,并且已在存储库中修复。但在所有人升级ghc之前该怎么办 上一次我遇到这样的问题(顺便说一句,是几年前),我使用utf8字符串包来转换字符串,但我不记得我是如何做到的,去年ghc unicode支持发生了明显的变化 那么,在完全支持u
的内容
getDirectoryContents "path/to/directory/that/contains/files/with/nonASCII/names"
>>= mapM_ putStrLn
看起来它是一个ghc,并且已在存储库中修复。但在所有人升级ghc之前该怎么办
上一次我遇到这样的问题(顺便说一句,是几年前),我使用utf8字符串包来转换字符串,但我不记得我是如何做到的,去年ghc unicode支持发生了明显的变化
那么,在完全支持unicode的情况下获取目录内容的最佳(或至少有效)方法是什么
ghc 7.0.4版
locale en_US.UTF-8这里有一个使用和来自的简单解决方法
输出:
.
..
brøken-file-nåme.txt
Broken.hs
------------
hello
我建议看一看,它提供了一个表示文件路径的抽象数据类型。我在一些内部代码中广泛使用了它,它工作得非常出色。@Yuras:据我所知,base
将转换为UTF8转换本身,因此如果使用适当版本的base
,您可能希望使用条件编译来删除转换。谢谢。这就像fixName=encodeString。fromText。T.pack
.
..
brøken-file-nåme.txt
Broken.hs
------------
hello