Text::CSV supported encodings

There was an error in the code: the encoding declared was not actually used when opening the file. I created an issue in the module, and this pull request to fix it


It looks like the documentation for Text::CSV requires that the value passed to encoding must be the same as that accepted by the open function's encoding parameter.

The list of possible values is listed in the IO::Handle::encoding method documentation:

The accepted values for encoding are case-insensitive. The available encodings vary by implementation and backend. On Rakudo MoarVM the following are supported:

  • utf8
  • utf16
  • utf16le
  • utf16be
  • utf8-c8
  • iso-8859-1
  • windows-1251
  • windows-1252
  • windows-932
  • ascii

The default encoding is utf8, which undergoes normalization into Unicode NFC (normalization form canonical). In some cases you may want to ensure no normalization is done; for this you can use utf8-c8. Before using utf8-c8 please read Unicode: Filehandles and I/O for more information on utf8-c8 and NFC.

As of Rakudo 2018.04 windows-932 is also supported which is a variant of ShiftJIS.

Implementation may choose to also provide support for aliases, e.g. Rakudo allows aliases latin-1 for iso-8859-1 encoding and dashed utf versions: utf-8 and utf-16.

Tags:

Csv

Raku