在哪里可以找到Text :: CSV支持的编码?是否不支持“ latin1”或语法错误?
这确实失败了:
use Text::CSV;
spurt '/tmp/test.csv', 'ID;Gerät;Nr', :enc<latin1>;
slurp '/tmp/test.csv', :enc<latin1>; #ok
say csv :in</tmp/test.csv>, :encoding<latin1>, :sep_char<;>;
#Malformed UTF-8 error
Run Code Online (Sandbox Code Playgroud)
看来,有关的文档Text::CSV要求传递给的值encoding必须与open函数的encodingparameter 接受的值相同。
IO::Handle::encoding方法文档中列出了可能的值列表:
接受的编码值不区分大小写。可用的编码因实现和后端而异。在Rakudo MoarVM上,支持以下功能:
utf8utf16utf16leutf16beutf8-c8iso-8859-1windows-1251windows-1252windows-932ascii默认编码为
utf8,将其标准化为Unicode NFC(标准化形式的规范化)。在某些情况下,您可能要确保不执行任何标准化操作。为此,您可以使用utf8-c8。在使用之前,utf8-c8请阅读Unicode:文件句柄和I / O,以获取有关utf8-c8和NFC的更多信息。从Rakudo开始
windows-932,还支持ShiftJIS的变体2018.04。实现也可以选择提供对别名的支持,例如Rakudo允许别名
latin-1用于iso-8859-1编码和utf虚线版本:utf-8和utf-16。
| 归档时间: |
|
| 查看次数: |
127 次 |
| 最近记录: |