anchor.diff:                  <<>> when ColumnCount == 1 ->
                       fun(Line,{P,Recs}) ->
                           LineSize = byte_size(Line)+LSL,
  -                        WithSizeFields = [P,LineSize,Line],
  +                        WithSizeFields = [P,LineSize,change_encoding(Line, Encoding, utf8)],
                           {P + LineSize, [list_to_tuple([?CSV_RECORD_NAME,File|WithSizeFields])|Recs]}
                       end;
                   <<>> when ColumnCount > 1 ->
                       fun(Line,{P,Recs}) ->
                           LineSize = byte_size(Line)+LSL,
  -                        WithSizeFields = [P,LineSize,Line] ++ lists:duplicate(ColumnCount-1,<<>>),
  +                        WithSizeFields = [P,LineSize,change_encoding(Line, Encoding, utf8)] ++ lists:duplicate(ColumnCount-1,<<>>),
                           {P + LineSize, [list_to_tuple([?CSV_RECORD_NAME,File|WithSizeFields])|Recs]}
                       end;
                   CS when is_binary(CS) ->
                       fun(Line,{P,Recs}) ->
  -                        StrFields = binary:split(Line, [CS],[global]),
  +                        StrFields = [change_encoding(L, Encoding, utf8) || L <- binary:split(Line, [CS],[global])],
                           LineSize = byte_size(Line)+LSL,
                           WithSizeFields = case length(StrFields) of
                               ColumnCount ->
  
positive.code: continuation(Io, Files, CMS, Pos, BlockSize, RowLimit, RowsSkipped, CsvOpts) ->
      #{io=>Io, files=>Files, cms=>CMS, pos=>Pos, blockSize=>BlockSize, rowLimit=>RowLimit, rowsSkipped=>RowsSkipped, opts=>CsvOpts}.
  
  %% TESTS ------------------------------------------------------------------
  -ifdef(TEST).
  
  
negative.code:      , columnCount := ColumnCount
       , columns := _Columns
       , header := _Header
       , encoding := Encoding
       , skip := Skip
       } = CsvOpts,
      LSL = byte_size(LineSeparator),
  